BITPlan profiwiki Wiki
profiwikiwiki
http://profiwiki.bitplan.com/index.php/Main_Page
MediaWiki 1.35.5
first-letter
Media
Special
Talk
User
User talk
BITPlan profiwiki Wiki
BITPlan profiwiki Wiki talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Property
Property talk
Form
Form talk
Concept
Concept talk
smw/schema
smw/schema talk
Rule
Rule talk
GeoJson
GeoJson talk
Module
Module talk
Main Page
0
1
1
2015-02-01T08:05:32Z
MediaWiki default
0
wikitext
text/x-wiki
<strong>MediaWiki has been successfully installed.</strong>
Consult the [//meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
== Getting started ==
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
8e0aa2f2a7829587801db67d0424d9b447e09867
16
1
2015-06-18T05:04:54Z
Wf
1
Replaced content with "siehe http://web.bitplan.com"
wikitext
text/x-wiki
siehe http://web.bitplan.com
7dc9a38bb8a5a499a939c5b3dc6e36e616cba7f2
33
16
2015-10-23T07:57:06Z
Wf
1
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
f9ae98dec07655efd9575bfc29d9f54c24574a3c
34
33
2015-10-23T08:02:04Z
Wf
1
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
Get your Dockerized Profi-Wiki!
65fb224cdf1da57824dbf56ec49ab6aa8f5848e9
35
34
2015-10-23T08:03:22Z
Wf
1
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
Get your Dockerized Profi-Wiki!
ProfiWiki is based on a {{Link|target=Docker|title=Dockerized}} {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
00ba9b4815619fe1aed52d3764ed5c4644e12a05
38
35
2015-10-23T08:05:52Z
Wf
1
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
Get your Dockerized ProfiWiki here soon!
ProfiWiki is based on a {{Link|target=Docker|title=Dockerized}} {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
e0013c66b9ce99c57664d6755e14d8861f7f9455
39
38
2015-10-23T08:06:12Z
Wf
1
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
Get your dockerized ProfiWiki here soon!
ProfiWiki is based on a {{Link|target=Docker|title=Dockerized}} {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
5efcb39b827bf71b6728b6a66c83540f826bac6b
40
39
2015-10-23T08:07:55Z
Wf
1
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
Get your dockerized ProfiWiki here soon!
ProfiWiki is based on a {{Link|target=Docker|title=Dockerized}} {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
=== The three Steps from MediaWiki to ProfiWiki ===
# {{Link|target=http://www.mediawiki.org}} is the basic infrastructure as used by millions of websites
59094cbfeaffc238f40142eda91c3a8f32b1b9da
41
40
2015-10-23T08:08:56Z
Wf
1
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
Get your dockerized ProfiWiki here soon!
ProfiWiki is based on a {{Link|target=Docker|title=Dockerized}}
=== The three Steps from MediaWiki to ProfiWiki ===
# {{Link|target=http://www.mediawiki.org|title=MediaWiki}} is the basic infrastructure as used by millions of wiki sites
# {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} is the
c5a817ccd13e4b9fa8b1f3a776da97957fd4ca68
42
41
2015-10-23T08:09:57Z
Wf
1
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
=== The ProfiWiki recipe ===
# {{Link|target=Docker}}
# {{Link|target=http://www.mediawiki.org|title=MediaWiki}} is the basic infrastructure as used by millions of wiki sites
# {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} is the
b9220a2834f3b3fda064616288fb601562aa1ab6
43
42
2015-10-23T08:14:31Z
Wf
1
/* The ProfiWiki recipe */
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ===
# 1 small {{Link|target=Docker}}
# 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}}
# 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
240a649279b0e9f11b23484a240c5ca80a0fbdda
44
43
2015-10-23T08:15:01Z
Wf
1
/* = Ingredients */
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}}
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}}
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
73ef40f2041d6b17571593aae910c5e5ef2fb942
45
44
2015-10-23T08:16:29Z
Wf
1
/* The ProfiWiki layer cake recipe */
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}}
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}}
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki}}
15b2139e5d25db32140ed74061ef40c579afdbba
46
45
2015-10-23T08:16:44Z
Wf
1
/* Make the ProfWiki cake */
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}}
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}}
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=https://github.com/BITPlan/docker-semanticmediawiki}}
c33c0d1510886ab936d7a7e5158f15b9425a4252
47
46
2015-10-23T08:16:59Z
Wf
1
/* Make the ProfWiki cake */
wikitext
text/x-wiki
== Welcome to ProfiWiki.de! ==
[[File:Profiwikiicon.png|128px]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}}
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}}
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}
f29ddb7ef13f73cd71b753f97c3d6ef8bcc59371
48
47
2015-10-23T08:17:50Z
Wf
1
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}}
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}}
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}
9501b8bae033f83a3d2134dc9ce3dab5f1ae3ae0
49
48
2015-10-23T08:18:01Z
Wf
1
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}}
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}}
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}
1f927efb5b710f385a2a1416ad0d889752ef7edd
50
49
2015-10-23T08:22:58Z
Jl
2
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}}
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}
b4f6e4a8d7aed63393558935bb688230360d3775
52
50
2015-10-23T08:24:51Z
Jl
2
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}
c03596ddfd7a2263dd1ab637678e840cccb32c29
File:BITPlanLogo2012.svg
6
2
2
2015-02-01T13:21:08Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Category:GraphViz
14
3
3
2015-06-18T04:20:08Z
91.40.111.165
0
wikitext
text/x-wiki
[[:Category:GraphViz]] contains pages created by the GraphViz extension.
d7558ea59744c0f6d746167d98c9d79141c34cf6
Category:GraphViz mscgen
14
4
4
2015-06-18T04:21:53Z
91.40.111.165
0
wikitext
text/x-wiki
[[:Category:GraphViz mscgen]] contains pages created using the mscgen command.[[Category:GraphViz]]
4d7115d1e0d046083a3190155627fb1d3b6ac369
Category:GraphViz dot
14
5
5
2015-06-18T04:21:53Z
91.40.111.165
0
wikitext
text/x-wiki
[[:Category:GraphViz dot]] contains pages created using the dot command.[[Category:GraphViz]]
c4b3cc59dbfa9617d9e149b61704bdff290e690a
Category:GraphViz neato
14
6
6
2015-06-18T04:21:53Z
91.40.111.165
0
wikitext
text/x-wiki
[[:Category:GraphViz neato]] contains pages created using the neato command.[[Category:GraphViz]]
5fbe64eac659c9264a567353e6f2c8c027440f75
Category:GraphViz fdp
14
7
7
2015-06-18T04:21:53Z
91.40.111.165
0
wikitext
text/x-wiki
[[:Category:GraphViz fdp]] contains pages created using the fdp command.[[Category:GraphViz]]
6c2fa932bc5b75845295f63302aeb9d53257d2a9
Category:GraphViz sfdp
14
8
8
2015-06-18T04:21:53Z
91.40.111.165
0
wikitext
text/x-wiki
[[:Category:GraphViz sfdp]] contains pages created using the sfdp command.[[Category:GraphViz]]
7c8809315d94a4c810ccf7511af74096b97d9b97
Category:GraphViz circo
14
9
9
2015-06-18T04:21:54Z
91.40.111.165
0
wikitext
text/x-wiki
[[:Category:GraphViz circo]] contains pages created using the circo command.[[Category:GraphViz]]
f7d832e0145e587c0272b9c9480004336d665b92
Category:GraphViz twopi
14
10
10
2015-06-18T04:21:54Z
91.40.111.165
0
wikitext
text/x-wiki
[[:Category:GraphViz twopi]] contains pages created using the twopi command.[[Category:GraphViz]]
906c45beed169f74791621baeec27eebc2f85323
File:File graph GraphVizExtensionDummy dot.gif
6
11
11
2015-06-18T05:04:53Z
Wf
1
generated by the GraphViz [[Special:Version#Installed_extensions|extension]] from the [[File]] page
wikitext
text/x-wiki
[[Category:GraphViz]][[Category:GraphViz dot]]
d1f9cf68e993d59c3c9ce3627f507a743ad6138b
File:File graph GraphVizExtensionDummy dot.jpg
6
12
12
2015-06-18T05:04:53Z
Wf
1
generated by the GraphViz [[Special:Version#Installed_extensions|extension]] from the [[File]] page
wikitext
text/x-wiki
[[Category:GraphViz]][[Category:GraphViz dot]]
d1f9cf68e993d59c3c9ce3627f507a743ad6138b
File:File graph GraphVizExtensionDummy dot.jpeg
6
13
13
2015-06-18T05:04:53Z
Wf
1
generated by the GraphViz [[Special:Version#Installed_extensions|extension]] from the [[File]] page
wikitext
text/x-wiki
[[Category:GraphViz]][[Category:GraphViz dot]]
d1f9cf68e993d59c3c9ce3627f507a743ad6138b
Docker goodies
0
16
17
2015-10-23T02:37:12Z
Wf
1
Created page with "=== Remove untagged docker images === http://jimhoskins.com/2013/07/27/remove-untagged-docker-images.html <source lang='bash'> docker rmi $(docker images | grep "^<none>" | aw..."
wikitext
text/x-wiki
=== Remove untagged docker images ===
http://jimhoskins.com/2013/07/27/remove-untagged-docker-images.html
<source lang='bash'>
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
</source>
d10355b7bc18acfe3d97a809b6e8dd58e913b4c0
18
17
2015-10-23T02:40:29Z
Wf
1
wikitext
text/x-wiki
=== Remove untagged docker images ===
http://stackoverflow.com/a/28377696/1497139
<source lang='bash'>
docker rmi -f $(docker images -f "dangling=true" -q)
</source>
366cbd1ffe6f7e08baba38e4e87f9a5ca7b5e972
19
18
2015-10-23T02:50:27Z
Wf
1
wikitext
text/x-wiki
=== Attach to a running container ===
* http://askubuntu.com/questions/505506/how-to-get-bash-or-ssh-into-a-running-container-in-background-mode
=== Remove untagged docker images ===
http://stackoverflow.com/a/28377696/1497139
<source lang='bash'>
docker rmi -f $(docker images -f "dangling=true" -q)
</source>
=== Support for build env variables ===
Upcoming feature in 1.9?
* https://github.com/docker/docker/issues/6822
c4ee0cb8bab3741c29ae4d6b8a8d7610c6ae27be
20
19
2015-10-23T02:50:58Z
Wf
1
/* Attach to a running container */
wikitext
text/x-wiki
=== Attach to a running container ===
* http://askubuntu.com/questions/505506/how-to-get-bash-or-ssh-into-a-running-container-in-background-mode
* http://askubuntu.com/a/507009/129227
=== Remove untagged docker images ===
http://stackoverflow.com/a/28377696/1497139
<source lang='bash'>
docker rmi -f $(docker images -f "dangling=true" -q)
</source>
=== Support for build env variables ===
Upcoming feature in 1.9?
* https://github.com/docker/docker/issues/6822
07f758e9737d59da8cd185a110848b3280b9ac7c
21
20
2015-10-23T03:15:20Z
Wf
1
wikitext
text/x-wiki
=== Attach to a running container ===
* http://askubuntu.com/questions/505506/how-to-get-bash-or-ssh-into-a-running-container-in-background-mode
* http://askubuntu.com/a/507009/129227
<source lang='bash'>
docker exec -it $containername /bin/bash
</source>
=== Remove untagged docker images ===
http://stackoverflow.com/a/28377696/1497139
<source lang='bash'>
docker rmi -f $(docker images -f "dangling=true" -q)
</source>
=== Support for build env variables ===
Upcoming feature in 1.9?
* https://github.com/docker/docker/issues/6822
52a1521c3d0ff493e40faf835223e6efe21fcbb9
22
21
2015-10-23T03:16:56Z
Wf
1
wikitext
text/x-wiki
=== Copy a file from a container to the host system ===
* http://stackoverflow.com/a/22050116/1497139
* docker cp <containerId>:/file/path/within/container /host/path/target
=== Attach to a running container ===
* http://askubuntu.com/questions/505506/how-to-get-bash-or-ssh-into-a-running-container-in-background-mode
* http://askubuntu.com/a/507009/129227
<source lang='bash'>
docker exec -it $containername /bin/bash
</source>
=== Remove untagged docker images ===
http://stackoverflow.com/a/28377696/1497139
<source lang='bash'>
docker rmi -f $(docker images -f "dangling=true" -q)
</source>
=== Support for build env variables ===
Upcoming feature in 1.9?
* https://github.com/docker/docker/issues/6822
7a87182cc7472041320d3ad746dcdb9bdfe9d1f4
23
22
2015-10-23T03:17:31Z
Wf
1
wikitext
text/x-wiki
=== Copy a file from a container to the host system ===
* http://stackoverflow.com/a/22050116/1497139
<source lang='bash'>
docker cp <containerId>:/file/path/within/container /host/path/target
</source>
=== Attach to a running container ===
* http://askubuntu.com/questions/505506/how-to-get-bash-or-ssh-into-a-running-container-in-background-mode
* http://askubuntu.com/a/507009/129227
<source lang='bash'>
docker exec -it $containername /bin/bash
</source>
=== Remove untagged docker images ===
http://stackoverflow.com/a/28377696/1497139
<source lang='bash'>
docker rmi -f $(docker images -f "dangling=true" -q)
</source>
=== Support for build env variables ===
Upcoming feature in 1.9?
* https://github.com/docker/docker/issues/6822
12a60c2c8a24fb6b387b0977a076a14fbde7ca97
Docker
0
17
24
2015-10-23T05:59:13Z
Wf
1
Created page with "{{Tool |name=Docker |logo=File:DockerLogo.png |logourl=https://www.docker.com/sites/all/themes/docker/assets/images/logo.png |website=https://www.docker.com/ |wikipediaurl=htt..."
wikitext
text/x-wiki
{{Tool
|name=Docker
|logo=File:DockerLogo.png
|logourl=https://www.docker.com/sites/all/themes/docker/assets/images/logo.png
|website=https://www.docker.com/
|wikipediaurl=https://en.wikipedia.org/wiki/Docker_%28software%29
|stackoverflow=http://stackoverflow.com/questions/tagged/docker
|stackoverflowQuestionCount=6731
|category=Build
|storemode=property
}}
{{GlossaryEntry
|since=2015/09/25
|description={{Link|target=https://www.docker.com/|title=Docker}} ''is an open platform for building, shipping and running distributed applications. It gives programmers, development teams and operations engineers the common toolbox they need to take advantage of the distributed and networked nature of modern applications.''
|references=https://www.docker.com
|lang=en
|master=Docker
|storemode=property
}}
== Virtual Machine versus Container ==
http://i.imgur.com/MJHfm1c.jpg
== Introduction to Docker by {{Link|target=Solomon Hykes}} ==
<youtube>Q5POuMHxW-0</youtube>
* Shipping code to the server is too hard
* Docker uses separation of concerns (just like the Y-principle) to make shipping easier
* Docker images are manipulated git style with ids, diffs, commits, pushs and pulls
== Links ==
* https://twitter.com/docker
== Installation ==
=== Installation of Docker on Mac OS X ===
* https://docs.docker.com/installation/mac/
# Download Docker Toolbox
# Install (e.g. DockerToolbox-1.8.3.pkg)
# Either Use Kitematic Visual Management for Docker or Docker Quickstart Terminal Command Line Interface
[[File:Clipboard20151017102651.png]]
<source lang='bash'>
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
</source>
=== Installation of Docker on Linux ===
* see https://docs.docker.com/installation/ubuntulinux/
== Docker command examples ==
upgrade docker machine
<pre>
docker-machine upgrade default
</pre>
list running docker processes
<pre>
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
</pre>
get and start the latest ubuntu image
<pre>
docker run ubuntu
</pre>
see which images are available
<pre>
bash-3.2$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 0a17decee413 4 days ago 188.4 MB
bash-3.2$
</pre>
start a bash shall in ubuntu
<source lang='bash'>
docker run -i -t ubuntu /bin/bash
</source>
modify the image by creating new directory
<source lang='bash'>
root@84506e084bb9:/#touch /test
</source>
look at processes again and check the difference of the image with the given container id
<source lang='bash'>
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
84506e084bb9 ubuntu "/bin/bash" 2 minutes ago Up 2 minutes pensive_wozniak
bash-3.2$ docker diff 84506e084bb9
A /test
</source>
install some software
<source lang='bash'>
root@84506e084bb9:/#apt-get install php5
root@84506e084bb9:/#apt-get install mysql-server
</source>
commit the changes to images with the name "lamp"
and check the image list again
<source lang='bash'>
bash-3.2$ docker commit 84506e084bb9 lamp
8ba719cd9b0eae589b70f6b6ddd567b4c20f997fc2d8f4c6feb313d73c2d5c3a
bash-3.2$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
lamp latest 8ba719cd9b0e 20 seconds ago 349.5 MB
ubuntu latest 0a17decee413 4 days ago 188.4 MB
bash-3.2$
</source>
<source lang='bash'>
docker version
Client:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 18:01:15 UTC 2015
OS/Arch: darwin/amd64
Server:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 18:01:15 UTC 2015
OS/Arch: linux/amd64
</source>
== Useful scripts ==
=== remove old unused docker containers ===
* http://stackoverflow.com/a/17237701/1497139
<source lang='bash'>
docker ps -a | grep 'weeks ago' | awk '{print $1}' | xargs --no-run-if-empty docker rm
</source>
== Static content example ==
Use the nginx image from https://github.com/docker-library/docs/tree/master/nginx
<source lang='bash'>
docker run --name icon_html -v /Users/wf/Documents/workspace/com.bitplan.icons/src/main/resources/com/bitplan/icons:/usr/share/nginx/html:ro -d -p 8080:80 nginx
</source>
find out the ip address for the mapping (Mac OS X)
<source lang='bash'>
docker-machine env default
export DOCKER_HOST="tcp://192.168.99.100:2376"
</source>
try out via <pre>http://192.168.99.100:8080/48x48/shadow/wrench.png</pre>http://192.168.99.100:8080/48x48/shadow/wrench.png
== Dockerfile ==
The process can be automated using a {{Link|target=Dockerfile}}
== Critics ==
http://www.boycottdocker.org/
== Docker book ==
<pdf>http://dockerbook.com/TheDockerBook_sample.pdf</pdf>
[[Category:Examples]]
44e7460760c66277aa56b94e80fe232fa51befab
Template:Tool
10
18
25
2015-10-23T06:01:06Z
Wf
1
Created page with "<noinclude> <!-- -- Copyright (C) 2015 BITPlan GmbH -- -- Pater-Delp-Str. -- 1 -- D-47877 -- Willich-Schiefbahn -- -- http://www.bitplan.com -- -- --> T..."
wikitext
text/x-wiki
<noinclude>
<!--
-- Copyright (C) 2015 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->
This is the template {{Link|target=Template:Tool|title=Tool}}.
It belongs to the concept/topic {{Link|target=:Concept:Tool}}<br>
You may find examples for the use of this template via the {{Link|target=List of Tools}}.
=== Usage ===
==== storemode subobject ====
<pre>{{Tool
|name=
|logo=
|logourl=
|website=
|wikipediaurl=
|stackoverflow=
|stackoverflowQuestionCount=
|category=
|pollResult=
|storemode=subobject
}}
</pre>
==== storemode property ====
<pre>{{Tool
|name=
|logo=
|logourl=
|website=
|wikipediaurl=
|stackoverflow=
|stackoverflowQuestionCount=
|category=
|pollResult=
|storemode=property
}}
</pre>
==== storemode none ====
<pre>{{Tool
|name=
|logo=
|logourl=
|website=
|wikipediaurl=
|stackoverflow=
|stackoverflowQuestionCount=
|category=
|pollResult=
|storemode=none
}}
</pre>
==== viewmode tableheader ====
<pre>{{Tool
|name=
|logo=
|logourl=
|website=
|wikipediaurl=
|stackoverflow=
|stackoverflowQuestionCount=
|category=
|pollResult=
|viewmode=tableheader
}}
</pre>
==== viewmode tablerow ====
<pre>{{Tool
|name=
|logo=
|logourl=
|website=
|wikipediaurl=
|stackoverflow=
|stackoverflowQuestionCount=
|category=
|pollResult=
|viewmode=tablerow
}}
</pre>
==== viewmode tablefooter ====
<pre>{{Tool
|name=
|logo=
|logourl=
|website=
|wikipediaurl=
|stackoverflow=
|stackoverflowQuestionCount=
|category=
|pollResult=
|viewmode=tablefooter
}}
</pre>
==== viewmode labelfield ====
<pre>{{Tool
|name=
|logo=
|logourl=
|website=
|wikipediaurl=
|stackoverflow=
|stackoverflowQuestionCount=
|category=
|pollResult=
|viewmode=labelfield
}}
</pre>
=== Source ===
<source lang='html4strict'>
{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Tool<br>|}}
{{#if:{{{?name|}}}|"{{{?name}}}" is name of it <br>|}}
{{#if:{{{?logo|}}}|"{{{?logo}}}" is logo of it <br>|}}
{{#if:{{{?logourl|}}}|"{{{?logourl}}}" is logourl of it <br>|}}
{{#if:{{{?website|}}}|"{{{?website}}}" is website of it <br>|}}
{{#if:{{{?wikipediaurl|}}}|"{{{?wikipediaurl}}}" is wikipediaurl of it <br>|}}
{{#if:{{{?stackoverflow|}}}|"{{{?stackoverflow}}}" is stackoverflow of it <br>|}}
{{#if:{{{?stackoverflowQuestionCount|}}}|"{{{?stackoverflowQuestionCount}}}" is stackoverflowQuestionCount of it <br>|}}
{{#if:{{{?category|}}}|"{{{?category}}}" is category of it <br>|}}
{{#if:{{{?pollResult|}}}|"{{{?pollResult}}}" is pollResult of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|{{#set:
|isA=Tool
|Tool name={{{name|}}}
|Tool logo={{{logo|}}}
|Tool logourl={{{logourl|}}}
|Tool website={{{website|}}}
|Tool wikipediaurl={{{wikipediaurl|}}}
|Tool stackoverflow={{{stackoverflow|}}}
|Tool stackoverflowQuestionCount={{{stackoverflowQuestionCount|}}}
|Tool category={{{category|}}}
|Tool pollResult={{{pollResult|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
|tableheader={{{!}} class='wikitable'
!name!!logo!!logourl!!website!!wikipediaurl!!stackoverflow!!stackoverflowQuestionCount!!category!!pollResult
{{!}}-
|tablerow=
{{!}}{{{name|}}}{{!}}{{!}}{{{logo|}}}{{!}}{{!}}{{{logourl|}}}{{!}}{{!}}{{{website|}}}{{!}}{{!}}{{{wikipediaurl|}}}{{!}}{{!}}{{{stackoverflow|}}}{{!}}{{!}}{{{stackoverflowQuestionCount|}}}{{!}}{{!}}{{{category|}}}{{!}}{{!}}{{{pollResult|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
name={{#if:{{{name|}}}|{{{name|}}}|}}<br>logo={{#if:{{{logo|}}}|[[{{{logo|}}}]]|}}<br>logourl={{#if:{{{logourl|}}}|{{{logourl|}}}|}}<br>website={{#if:{{{website|}}}|{{{website|}}}|}}<br>wikipediaurl={{#if:{{{wikipediaurl|}}}|{{{wikipediaurl|}}}|}}<br>stackoverflow={{#if:{{{stackoverflow|}}}|{{{stackoverflow|}}}|}}<br>stackoverflowQuestionCount={{#if:{{{stackoverflowQuestionCount|}}}|{{{stackoverflowQuestionCount|}}}|}}<br>category={{#if:{{{category|}}}|{{{category|}}}|}}<br>pollResult={{#if:{{{pollResult|}}}|{{{pollResult|}}}|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Tool
{{!}}-
!name
{{!}} {{#if:{{{name|}}}|{{{name|}}}|}}
{{!}}-
!logo
{{!}} {{#if:{{{logo|}}}|[[{{{logo|}}}]]|}}
{{!}}-
!logourl
{{!}} {{#if:{{{logourl|}}}|{{{logourl|}}}|}}
{{!}}-
!website
{{!}} {{#if:{{{website|}}}|{{{website|}}}|}}
{{!}}-
!wikipediaurl
{{!}} {{#if:{{{wikipediaurl|}}}|{{{wikipediaurl|}}}|}}
{{!}}-
!stackoverflow link
{{!}} {{#if:{{{stackoverflow|}}}|{{{stackoverflow|}}}|}}
{{!}}-
!no of stackoverflow questions
{{!}} {{#if:{{{stackoverflowQuestionCount|}}}|{{{stackoverflowQuestionCount|}}}|}}
{{!}}-
!Category
{{!}} {{#if:{{{category|}}}|{{{category|}}}|}}
{{!}}-
!pollResult
{{!}} {{#if:{{{pollResult|}}}|{{{pollResult|}}}|}}
{{!}}-
{{!}}}
}}
}}
[[Category:Tool]]
</source>
Click on "Edit" to edit the Source of this Template.
</noinclude><includeonly>{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Tool<br>|}}
{{#if:{{{?name|}}}|"{{{?name}}}" is name of it <br>|}}
{{#if:{{{?logo|}}}|"{{{?logo}}}" is logo of it <br>|}}
{{#if:{{{?logourl|}}}|"{{{?logourl}}}" is logourl of it <br>|}}
{{#if:{{{?website|}}}|"{{{?website}}}" is website of it <br>|}}
{{#if:{{{?wikipediaurl|}}}|"{{{?wikipediaurl}}}" is wikipediaurl of it <br>|}}
{{#if:{{{?stackoverflow|}}}|"{{{?stackoverflow}}}" is stackoverflow of it <br>|}}
{{#if:{{{?stackoverflowQuestionCount|}}}|"{{{?stackoverflowQuestionCount}}}" is stackoverflowQuestionCount of it <br>|}}
{{#if:{{{?category|}}}|"{{{?category}}}" is category of it <br>|}}
{{#if:{{{?pollResult|}}}|"{{{?pollResult}}}" is pollResult of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|{{#set:
|isA=Tool
|Tool name={{{name|}}}
|Tool logo={{{logo|}}}
|Tool logourl={{{logourl|}}}
|Tool website={{{website|}}}
|Tool wikipediaurl={{{wikipediaurl|}}}
|Tool stackoverflow={{{stackoverflow|}}}
|Tool stackoverflowQuestionCount={{{stackoverflowQuestionCount|}}}
|Tool category={{{category|}}}
|Tool pollResult={{{pollResult|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
|tableheader={{{!}} class='wikitable'
!name!!logo!!logourl!!website!!wikipediaurl!!stackoverflow!!stackoverflowQuestionCount!!category!!pollResult
{{!}}-
|tablerow=
{{!}}{{{name|}}}{{!}}{{!}}{{{logo|}}}{{!}}{{!}}{{{logourl|}}}{{!}}{{!}}{{{website|}}}{{!}}{{!}}{{{wikipediaurl|}}}{{!}}{{!}}{{{stackoverflow|}}}{{!}}{{!}}{{{stackoverflowQuestionCount|}}}{{!}}{{!}}{{{category|}}}{{!}}{{!}}{{{pollResult|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
name={{#if:{{{name|}}}|{{{name|}}}|}}<br>logo={{#if:{{{logo|}}}|[[{{{logo|}}}]]|}}<br>logourl={{#if:{{{logourl|}}}|{{{logourl|}}}|}}<br>website={{#if:{{{website|}}}|{{{website|}}}|}}<br>wikipediaurl={{#if:{{{wikipediaurl|}}}|{{{wikipediaurl|}}}|}}<br>stackoverflow={{#if:{{{stackoverflow|}}}|{{{stackoverflow|}}}|}}<br>stackoverflowQuestionCount={{#if:{{{stackoverflowQuestionCount|}}}|{{{stackoverflowQuestionCount|}}}|}}<br>category={{#if:{{{category|}}}|{{{category|}}}|}}<br>pollResult={{#if:{{{pollResult|}}}|{{{pollResult|}}}|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Tool
{{!}}-
!name
{{!}} {{#if:{{{name|}}}|{{{name|}}}|}}
{{!}}-
!logo
{{!}} {{#if:{{{logo|}}}|[[{{{logo|}}}]]|}}
{{!}}-
!logourl
{{!}} {{#if:{{{logourl|}}}|{{{logourl|}}}|}}
{{!}}-
!website
{{!}} {{#if:{{{website|}}}|{{{website|}}}|}}
{{!}}-
!wikipediaurl
{{!}} {{#if:{{{wikipediaurl|}}}|{{{wikipediaurl|}}}|}}
{{!}}-
!stackoverflow link
{{!}} {{#if:{{{stackoverflow|}}}|{{{stackoverflow|}}}|}}
{{!}}-
!no of stackoverflow questions
{{!}} {{#if:{{{stackoverflowQuestionCount|}}}|{{{stackoverflowQuestionCount|}}}|}}
{{!}}-
!Category
{{!}} {{#if:{{{category|}}}|{{{category|}}}|}}
{{!}}-
!pollResult
{{!}} {{#if:{{{pollResult|}}}|{{{pollResult|}}}|}}
{{!}}-
{{!}}}
}}
}}
[[Category:Tool]]</includeonly>
ecfcbc2aabbe796800de73fdea34aa6aee926f04
Template:Link
10
19
26
2015-10-23T06:02:25Z
Wf
1
Created page with "<noinclude> <!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT --> == template purpose == This is a Template for internal and external Links in WikiSon notatio..."
wikitext
text/x-wiki
<noinclude>
<!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->
== template purpose ==
This is a Template for internal and external Links in WikiSon notation.
=== Motivation ===
In Mediawiki there are at least five different ways to use a link - we'd like to hide this complexity and add new functionality:
# <pre>[[Main Page]]</pre>[[Main Page]] - internal link with no text
# <pre>[[Main Page|Start Page]]</pre>[[Main Page|Start Page]] - internal link with text
# <pre>[http://partner.bitplan.com] </pre>[http://partner.bitplan.com] - external link as footnote
# <pre>[http://partner.bitplan.com BITPlan partner site] </pre>[http://partner.bitplan.com BITPlan partner site] - external link with text
# <pre>http://partner.bitplan.com </pre>http://partner.bitplan.com - automatic external link
== WikiSon Link ==
=== Motivation ===
The Concept behind a link is
<uml>
Class Link {
target
title
}
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
hide Circle
skinparam note{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam package{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam usecase{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam activity{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam classAttribute{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam class{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
</uml>
This calls for the WikiSon notation
<pre>
{{Link
|target=sometarget
|text=sometext
}}
</pre>
=== Link as WikiSon ===
Using the WikiSon Concept approach the Link Concept is represented via
the Wiki [[:Category:Link]]<br>
Especially there is a [[List of Links]] page available.
=== Importance ===
this is a fundamental concept should not be broken. Therefore
{{Fixme|todo=This template needs to be protected soon|done=true}}
{{Fixme|todo=This template needs to be distributed in the smartMediaWiki network of wikis|done=false}}
=== Examples ===
<pre>
{{Link}}
</pre>
internal default link to Main Page
{{Link}}
<pre>
{{Link|target=Main Page}}
</pre>
internal link to Main Page
{{Link|target=Main Page}}
<pre>
{{Link|target=Main Page|title=Main Page}}
</pre>
internal link to Main Page with title
{{Link|target=Main Page|title=Main Page}}
<pre>
{{Link|target=http://partner.bitplan.com}}
</pre>
external link
{{Link|target=http://partner.bitplan.com}}
<pre>
{{Link|target=http://partner.bitplan.com|title=BITPlan Partner wiki}}
</pre>
external link with title
{{Link|target=http://partner.bitplan.com|title=BITPlan Partner wiki}}
=== implementation ===
==== Prerquisite ====
LocalSettings.php needs to have the StringFunctions enabled:
<source lang='php'>
# WF 2015-01-20
# allow string functions
$wgPFEnableStringFunctions=true;
</source>
==== Template source ====
The complexity of this template macro needs to be hidden
===== original Link Template =====
<pre>
{{#set:Link target={{{target|}}}
|Link title={{{title|}}}
}}{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http | {{#set:Link targetUrl={{{target|}}}}}{{#if: {{{title|}}}
| [{{{target|http://www.smartMediaWiki.com}}} {{{title}}}]
| [{{{target|http://www.smartMediaWiki.com}}}]
}}| {{#set:Link targetPage={{{target|}}}}}{{#if: {{{title|}}}
| [[{{{target|Main Page}}}|{{{title}}}]]
| [[{{{target|Main Page}}}]]
}}}}[[Category:Link]]
</pre>
===== pretty printed Template macro =====
this version would unfortunately create unwanted newlines in the macro result
<source lang='html4strict'>
<!-- set concept attributes target (mandatory) and title (optional) -->
{{#set:Link target={{{target|}}}
|Link title={{{title|}}}
}}
<!-- check whether link is external or internal by comparing the firsts 4 chars with "http" -->
{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http
| <!-- in the http case (external link) set the targetURL property - it has the type "URL" and not "Text" like target or "Page" like targetPage -->
{{#set:Link targetUrl={{{target|}}}}}
<!-- display external link with our without title -->
{{#if: {{{title|}}}
| [{{{target|http://www.smartMediaWiki.com}}} {{{title}}}]
| [{{{target|http://www.smartMediaWiki.com}}}]
}}
| <!-- in the non-http case (internal link) set the targetPage property - it has the type "Page" and not "Text" like target or "Url" like targetUrl -->
{{#set:Link targetPage={{{target|}}}}}
<!-- display internal link with our without title -->
{{#if: {{{title|}}}
| [[{{{target|Main Page}}}|{{{title}}}]]
| [[{{{target|Main Page}}}]]
}}
}}
<!-- set the Category so that any page using this is displayed in this category -->
[[Category:Link]]
</source>
==== How the Link Macro works ====
The Link Macro checks whether the link is external or internal and displays the correct version. It sets the Link Concept's attributes by setting the correspond Semantic Media Wiki properties.
it uses the following helper funcitons:
* Substring: https://www.mediawiki.org/wiki/Extension:StringFunctions/en#.23sub:
* #ifeq: https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions/en#.23ifeq
* #if: https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions/en#.23if
* #set: https://semantic-mediawiki.org/wiki/Help:Setting_values
===== Substring =====
<pre>
{{#sub:string|start|length}}
The start parameter, if positive (or zero), specifies a zero-based index of the first character to be returned.
Example: {{#sub:Icecream|3}} returns cream.
{{#sub:Icecream|0|3}} returns Ice.
</pre>
===== if exists and non empty =====
<pre>
{{#if: test string | value if test string is not empty | value if test string is empty (or only white space) }}
</pre>
===== if equals =====
<pre>
{{#ifeq: string 1 | string 2 | value if identical | value if different }}
</pre>
===== setting Semantic values =====
<pre>
{{#set:Has population=2,234,105
|Located in country=France
|Has mayor=Bertrand Delanoë
}}
</pre>
=== SMW PageSchema use ===
==== generated version of this template ====
<pre>
< noinclude>
Dies ist die Vorlage „Link“.
Sie sollte im folgenden Format genutzt werden:
< pre>
{{Link
|target=
|title=
}}
</ pre>
Klick auf „Bearbeiten“, um den Quelltext der Vorlage anzusehen.
</ noinclude>< includeonly>{| class="wikitable"
! target
| [[Link_target::{{{target|}}}]]
|-
! title
| [[Link_title::{{{title|}}}]]
...
|}
[[Kategorie:Link]]
</ includeonly>
</pre>
[[Category:Template]]</noinclude><includeonly>{{#set:Link target={{{target|}}}
|Link title={{{title|}}}
}}{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http | {{#set:Link targetUrl={{{target|}}}}}{{#if: {{{title|}}}
| [{{{target|http://www.smartMediaWiki.com}}} {{{title}}}]
| [{{{target|http://www.smartMediaWiki.com}}}]
}}| {{#set:Link targetPage={{{target|}}}}}{{#if: {{{title|}}}
| [[{{{target|Main Page}}}|{{{title}}}]]
| [[{{{target|Main Page}}}]]
}}}}</includeonly>
7ce6dc6744f61c007d7420599b460c33ad53091e
File:Smiley.svg
6
20
27
2015-10-23T06:44:05Z
Jl
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:DockerLogo.png
6
21
28
2015-10-23T06:45:56Z
Jl
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Template:GlossaryEntry
10
22
29
2015-10-23T06:46:44Z
Jl
2
Created page with "<noinclude> </noinclude><includeonly> </includeonly>"
wikitext
text/x-wiki
<noinclude>
</noinclude><includeonly>
</includeonly>
16340203fde4377a2bc214cb067aaf5e28d86b55
File:Clipboard20151017102651.png
6
23
30
2015-10-23T06:48:06Z
Jl
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Solomon Hykes
0
24
31
2015-10-23T06:54:08Z
Jl
2
Created page with "https://www.linkedin.com/in/solomonhykes"
wikitext
text/x-wiki
https://www.linkedin.com/in/solomonhykes
edfd4953fe48d2188cd206ad8c90817ca90565e3
File:Profiwikiicon.png
6
25
32
2015-10-23T07:56:24Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Property:Tool wikipediaurl
102
26
36
2015-10-23T08:04:22Z
Wf
1
Created page with "[[Has Type::URL]]"
wikitext
text/x-wiki
[[Has Type::URL]]
c236e4ac628decf10f4a2f09ddf35e3d6f8fd386
37
36
2015-10-23T08:04:36Z
Wf
1
wikitext
text/x-wiki
[[Has type::URL]]
0e9f31c50b202d3371af28c7a81d4a3e46da49af
File:MediaWikiLogo.png
6
27
51
2015-10-23T08:24:25Z
Jl
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Main Page
0
1
53
52
2015-10-23T08:25:16Z
Jl
2
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|128px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}
1f7cc52c8282ed9b52cdbc71f42b0f6c2cbf897c
54
53
2015-10-23T08:26:16Z
Wf
1
/* Make the ProfWiki cake */
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|128px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}}
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
8dfb2854e2d5f3f31a2ed7c8a5175467c3855ee8
56
54
2015-10-23T08:27:03Z
Jl
2
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|128px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|128px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|128px]]
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
a8183fe295501fdcf6af035f88fd6854a7a1a53d
57
56
2015-10-23T08:27:37Z
Wf
1
/* The ProfiWiki layer cake recipe */
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|128px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|128px]]
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
ab0bda55344f22616638a591b5ec12dac2b759be
58
57
2015-10-23T08:28:21Z
Wf
1
/* The ProfiWiki layer cake recipe */
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|146px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|146px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|128px]]
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
195d30cd6bf931949a602daaf03db5adbb4580c8
59
58
2015-10-23T08:28:51Z
Wf
1
/* The ProfiWiki layer cake recipe */
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|146px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|128px]]
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
c142d178c5169cc2cb7775613843b535e1e32128
60
59
2015-10-23T08:29:22Z
Wf
1
/* The ProfiWiki layer cake recipe */
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|50px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|128px]]
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
da2a21f04d2240301165a512cc7105c38aee1d75
61
60
2015-10-23T08:29:33Z
Wf
1
/* The ProfiWiki layer cake recipe */
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|100px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|128px]]
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
aa637d79f525ebc991ba03a51b12d7f63ce4be9e
62
61
2015-10-23T08:29:53Z
Wf
1
/* The ProfiWiki layer cake recipe */
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|100px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|100px]]
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
40efc27997e719a2719084a44b38692116e92edd
63
62
2015-10-23T11:45:18Z
Wf
1
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== What is a ProfiWiki ===
* Structured and unstructured content
* Easy search
* Quick data entry and linking
* Team collaboration
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|100px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|100px]]
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
2a7b7a92cd48a5c97b51018aed7ce9c46e558cd1
66
63
2015-10-24T11:59:32Z
Wf
1
/* What is a ProfiWiki */
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== What is a ProfiWiki ?===
* Structured and unstructured content
* Easy search
* Quick data entry and linking
* Team collaboration
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|100px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|100px]]
==== Make the ProfWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
89150ed76bd5a4742195af7879896fb706a72dea
File:SemanticMediaWikiLogo.png
6
28
55
2015-10-23T08:26:22Z
Jl
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Docker
0
17
64
24
2015-10-23T11:47:21Z
Wf
1
/* Useful scripts */
wikitext
text/x-wiki
{{Tool
|name=Docker
|logo=File:DockerLogo.png
|logourl=https://www.docker.com/sites/all/themes/docker/assets/images/logo.png
|website=https://www.docker.com/
|wikipediaurl=https://en.wikipedia.org/wiki/Docker_%28software%29
|stackoverflow=http://stackoverflow.com/questions/tagged/docker
|stackoverflowQuestionCount=6731
|category=Build
|storemode=property
}}
{{GlossaryEntry
|since=2015/09/25
|description={{Link|target=https://www.docker.com/|title=Docker}} ''is an open platform for building, shipping and running distributed applications. It gives programmers, development teams and operations engineers the common toolbox they need to take advantage of the distributed and networked nature of modern applications.''
|references=https://www.docker.com
|lang=en
|master=Docker
|storemode=property
}}
== Virtual Machine versus Container ==
http://i.imgur.com/MJHfm1c.jpg
== Introduction to Docker by {{Link|target=Solomon Hykes}} ==
<youtube>Q5POuMHxW-0</youtube>
* Shipping code to the server is too hard
* Docker uses separation of concerns (just like the Y-principle) to make shipping easier
* Docker images are manipulated git style with ids, diffs, commits, pushs and pulls
== Links ==
* https://twitter.com/docker
== Installation ==
=== Installation of Docker on Mac OS X ===
* https://docs.docker.com/installation/mac/
# Download Docker Toolbox
# Install (e.g. DockerToolbox-1.8.3.pkg)
# Either Use Kitematic Visual Management for Docker or Docker Quickstart Terminal Command Line Interface
[[File:Clipboard20151017102651.png]]
<source lang='bash'>
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
</source>
=== Installation of Docker on Linux ===
* see https://docs.docker.com/installation/ubuntulinux/
== Docker command examples ==
upgrade docker machine
<pre>
docker-machine upgrade default
</pre>
list running docker processes
<pre>
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
</pre>
get and start the latest ubuntu image
<pre>
docker run ubuntu
</pre>
see which images are available
<pre>
bash-3.2$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 0a17decee413 4 days ago 188.4 MB
bash-3.2$
</pre>
start a bash shall in ubuntu
<source lang='bash'>
docker run -i -t ubuntu /bin/bash
</source>
modify the image by creating new directory
<source lang='bash'>
root@84506e084bb9:/#touch /test
</source>
look at processes again and check the difference of the image with the given container id
<source lang='bash'>
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
84506e084bb9 ubuntu "/bin/bash" 2 minutes ago Up 2 minutes pensive_wozniak
bash-3.2$ docker diff 84506e084bb9
A /test
</source>
install some software
<source lang='bash'>
root@84506e084bb9:/#apt-get install php5
root@84506e084bb9:/#apt-get install mysql-server
</source>
commit the changes to images with the name "lamp"
and check the image list again
<source lang='bash'>
bash-3.2$ docker commit 84506e084bb9 lamp
8ba719cd9b0eae589b70f6b6ddd567b4c20f997fc2d8f4c6feb313d73c2d5c3a
bash-3.2$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
lamp latest 8ba719cd9b0e 20 seconds ago 349.5 MB
ubuntu latest 0a17decee413 4 days ago 188.4 MB
bash-3.2$
</source>
<source lang='bash'>
docker version
Client:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 18:01:15 UTC 2015
OS/Arch: darwin/amd64
Server:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 18:01:15 UTC 2015
OS/Arch: linux/amd64
</source>
== Useful scripts ==
{{Link|target=Docker goodies}}
== Static content example ==
Use the nginx image from https://github.com/docker-library/docs/tree/master/nginx
<source lang='bash'>
docker run --name icon_html -v /Users/wf/Documents/workspace/com.bitplan.icons/src/main/resources/com/bitplan/icons:/usr/share/nginx/html:ro -d -p 8080:80 nginx
</source>
find out the ip address for the mapping (Mac OS X)
<source lang='bash'>
docker-machine env default
export DOCKER_HOST="tcp://192.168.99.100:2376"
</source>
try out via <pre>http://192.168.99.100:8080/48x48/shadow/wrench.png</pre>http://192.168.99.100:8080/48x48/shadow/wrench.png
== Dockerfile ==
The process can be automated using a {{Link|target=Dockerfile}}
== Critics ==
http://www.boycottdocker.org/
== Docker book ==
<pdf>http://dockerbook.com/TheDockerBook_sample.pdf</pdf>
[[Category:Examples]]
3441d14a0aece25d1183bce352b5c79ef92322bc
Docker goodies
0
16
65
23
2015-10-23T11:47:43Z
Wf
1
wikitext
text/x-wiki
=== Copy a file from a container to the host system ===
* http://stackoverflow.com/a/22050116/1497139
<source lang='bash'>
docker cp <containerId>:/file/path/within/container /host/path/target
</source>
=== Attach to a running container ===
* http://askubuntu.com/questions/505506/how-to-get-bash-or-ssh-into-a-running-container-in-background-mode
* http://askubuntu.com/a/507009/129227
<source lang='bash'>
docker exec -it $containername /bin/bash
</source>
=== Remove untagged docker images ===
http://stackoverflow.com/a/28377696/1497139
<source lang='bash'>
docker rmi -f $(docker images -f "dangling=true" -q)
</source>
=== remove old unused docker containers ===
* http://stackoverflow.com/a/17237701/1497139
<source lang='bash'>
docker ps -a | grep 'weeks ago' | awk '{print $1}' | xargs --no-run-if-empty docker rm
</source>
=== Support for build env variables ===
Upcoming feature in 1.9?
* https://github.com/docker/docker/issues/6822
2c3e0c2471cc9e677657347eec657aeb5bd98d78
WikiSon
0
29
67
2015-11-05T19:36:31Z
WolfgangFahl
3
Pushed from BITPlan Partner.
wikitext
text/x-wiki
== WikiSon - Wiki Simple Object Notation ==
[http://www.WikiSon.org WikiSon] follows the following principles:
* simplicity
* brevity
* platform independence
* problem space orientation
*
WikiSon is compatible with:
* [https://www.mediawiki.org MediaWiki] - [https://www.mediawiki.org/wiki/Help:Templates Templates/Macros]
* [https://semantic-mediawiki.org/ SemanticMediaWiki], especially [https://www.mediawiki.org/wiki/Extension:Page_Schemas SMW PageSchemas] and [https://github.com/WolfgangFahl/JSMW_PageSchema JSMW PageSchema]]
* WikiData
=== compatible formats ===
It can be easily transformed from and to the formats:
* csv
* {{Link|target=http://www.json.org|title=json}}
* {{Link|target=https://en.wikipedia.org/wiki/Resource_Description_Framework|title=rdf}}
* {{Link|target=http://microformats.org/wiki/microformats2|title=html microformats}}
* xml
* ... you name it
== Simple examples ==
=== Books ===
<pre>
{{ Book | Lord of the Rings | 0261102389 }}
</pre>
is a valid WikiSon sample for the Three Book Set Edition of the Book with the title "Lord of the Rings" by John R. R. Tolkien which happens to have the ISBN-10 number 0261102389.
=== Cities ===
<pre>
{{City
|name=Tokyo
|id=JP-13
|localname=東京
|webpage=http://www.tokyo2020.jp
|Population=9153953
|wikipedia_url=https://de.wikipedia.org/wiki/Tokio
|average_income=56
|Country=Japan
}}
</pre>
is a valid WikiSon sample for the Metro-City of "Tokyo"
A possible human readable version of it would look like:
{{City
|name=Tokyo
|id=JP-13
|localname=東京
|webpage=http://www.tokyo2020.jp
|Population=9153953
|wikipedia_url=https://de.wikipedia.org/wiki/Tokio
|average_income=56
|Country=Japan
}}
WikiSon asks for:
<pre>
{{City|name=Tokyo|id=JP-13}}
{{City|name=Tokyo}}
{{City|id=JP-13}}
{{City|Tokyo|JP-13}}
{{City|Tokyo}}
{{City|JP-13}}
</pre>
to render all the same result. The preferred notation is:
<pre>
{{City|name=Tokyo|id=JP-13}}
</pre>
== Concepts and Properties ==
In the above example City is a {{Link|target=:Concept:Concept|title=Concept}}.<br>
In the above example
* name,
* id
* localname
* webpage
* ...
are {{Link|target=:Concept:Property|title=Properties}}.<br>
See the {{Link|target=:Concept:City|title=Description of the City concept}}.
{{smartMediaWiki}} extends the meaning of Concept and Property beyond the definition of {{semanticMediaWiki}}
=== How do derive concepts and properties ===
Let's assume someone wants a software and tells you:
''"Could you please create a software for me that will show me
* whether it rained yesterday in Berlin
* whether the sun shines today in Munich
* whether it snows tomorrow in Vienna
"''
These sentences might lead you to three concepts:
* City
* Calendardate
* Weather
The customer has given you three examples for each concept:
Cities:
* {{City|Berlin}}<nowiki>{{City|Berlin}}</nowiki>
* {{City|Munich}}
* {{City|Vienna}}
...
== Conventions ==
We are following the [[Y-Principle]] here and the A/T/R Bloodgroup approach of Siedersleben.
=== Concepts and Attributes ===
compare to [[Workdocumentation_2015-01-10]]
<uml>
skinparam class {
BackgroundColor White
ArrowColor black
BorderColor #FF8000
FontColor black
FontSize 12
FontName Technical
}
hide Circle
namespace WikiSon {
class Concept {
name
description
}
class Attribute {
name
value
Concept type
}
Concept "1" -- "n" Attribute
}
</uml>
<pre>
{{<Concept>
|<name>=<value>
...
}}
</pre>
where value is of the type specified in the corresponding Attribute.
==== Concept ====
'''Concept''' has the synonms/ corresponding ideas in the problem space:
* Thing
* Subject
* Topic
* Name
* Group
* Definition
* Class
* Entity
Typical solution space mappings are:
* GUI Form
* Database Table
* Excel Sheet
* Class
* Java Class
* PHP Class
* CORBA Interface
==== Attribution ====
===== Examples =====
In Berlin (Thema) hat es heute geregnet (Rhema).
==> implicit Concepts: City, heute->Date, geregnet-> Weather
Did i understand you right that
{{City|name=berlin}}
{{Date|today}}
{{Weather|rain}}
and
{{City|name=munich}}
{{Date|tomorrow}}
{{Weather|sun}}
{{City|name=münster}}
{{Date|yesterday}}
{{Weather|snow}}
are examples for what you'd like to cover with a computer program?
Ich (Thema) habe gerade einen Anruf bekommen (Rhema).
Es war einmal ein König (Rhema). Der (Thema) hatte drei Töchter (Rhema).
Frage-Antwort-Paar:
Was hat Papa gestern gemacht? (nur rhematisches Material bzw. kontextabhängige Thema-Rhema-Aufteilung)
Papa hat gestern (Thema) das Auto gewaschen (Rhema, erfragte Information).
Durch Verschiebung der Positionen von Thema und Rhema erhält der Satz eine starke Betonung oder emotionale Färbung:
Was hat Papa gestern gemacht?
Das Auto (Rhema) hat Papa (Thema) gestern gewaschen!
====== ... =======
Attributions done on Concepts can be perceived or ...
'''Attribute''' has the synonms/ corresponding ideas in the problem space:
* Feature
* Property
* Entry
Typical solution space mappings are:
* SMW triple
* GUI Field
* Database Row
* COBOL Record
* Excel Row
* C# Property
* Java Bean Field
* CORBA Attribute
=== Identifier / Primary Keys ===
The first few attributes of a concept are considered to be the key attributes of a concept.
E.g. in the WikiSon
<pre>
{{Person
|name=Doe
|firstname=John
|email=john@doe.org
|id=4711
|date of birth=1972-05-06
}}
</pre>
name and firstname naturally but not unambigiously identify john doe. Technically the email and id are much better suited as unique identifiers. The date of birth is just a regular attribute.
By convention in this example id would be the technical primary key.
=== Primary key convention ===
The first attribute with a name found in the following list:
* id
* oid
* uid
* uuid
* {{Link|target=List of known Technical Primary Key Attribute Names|title=...}}
is considered to be the technical primary key. All attributes declared before such a technical primary key are considered to form natural (effective in SAPese) keys when the values are concatenated using
"," as a delimiter.
==== Examples ====
<pre>
{{Person
|name=Doe
|firstname=John
|email=john@doe.org
|id=4711
|date of birth=1972-05-06
}}
</pre>
The primary key is "john@doe.org" and the natural key "Doe,John"
<pre>
{{Person
|firstname=John
|name=Doe
|id=4711
|email=john@doe.org
|date of birth=1972-05-06
}}
</pre>
The primary key is "4711" and the natural key "John,Doe"
== Configuration ==
=== Configuration Overview ===
To map Concepts in the Problem Space to Solutions one or more configurations per Concept are necessary.<br>
Think of
* resource forks
* Java Profiles
* UML Sterotypes/Taggedvalues
The configuration has details on what the solution should look like.
E.g. the Concept concept might have the following internationalization Configurations:
{{Configuration
|name=Internationalisierung des Concept Konzeptes für die deutsche Sprache
|id=i18nConfiguration_Concept_de
|concept=Concept
}}
==== UML diagram describing the Configuration ====
<uml>
skinparam class {
BackgroundColor White
ArrowColor black
BorderColor #FF8000
FontColor black
FontSize 12
FontName Technical
}
hide Circle
namespace WikiSon {
class Concept {
name
}
class SolutionConcept {
id
}
class Attribute {
name
value
Concept type
}
class Configuration {
Concept concept
}
Concept "1" -- "n" Attribute
Configuration "1" -- "n" Attribute
SolutionConcept <|-- Configuration
Concept <|-- SolutionConcept
}
</uml>
=== Synonyms aliases ====
== Mapppings ==
{{Link|target=Mapping WikiSon to SemanticMediaWiki}}
== Mapping WikiSon to WikiData ==
* https://www.wikidata.org/wiki/Wikidata:Glossary#Item
== Mapping WikiSon to UML ==
=== Corresponding UML approach for "Concept" ===
<uml>
skinparam class {
BackgroundColor White
ArrowColor black
BorderColor #FF8000
FontColor black
FontSize 12
FontName Technical
}
class UMLClass {
name
}
class StructuralFeature {
name
value
type
}
UMLClass "1" -- "* structural features" StructuralFeature
hide UMLClass circle
hide StructuralFeature circle
</uml>
=== Example: the City Concept described in UML ===
<uml>
skinparam classBackgroundColor white
skinparam classBorderColor #FF8000
skinparam classFontColor black
skinparam classFontSize 12
skinparam classFontName Arial
skinparam NoteBorderColor #FF8000
skinparam NoteBackgroundColor #FFFFF0
hide circle
title City
note as CityDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as CityNote
I represent a City like Berlin, New York or Tokyo
end note
CityNote ..City
Class City <<Category>> {
Text local Name
URL website
Number Pop.
URL wikipedia url
Number average income T$/year
}
City -- Country
City -- Mayor
hide <<Category>> circle
</uml>
=== Mapping a Concept to a UML Class ===
* the name of a concept is used as a UML Class name
* the attributes of a concept are mapped to UML attributes aka structural features
* the name of an attribute is mapped to an UML attribute name
* the type of an attribute is mapped to a UML type starting (bootstrapping) from a {{Link|target=Wikison generic type system}}
=== UML Attributes / Associations and Inheritance ===
In UML
# Attributes
# Associations
# Inheritance
are three different concepts. In WikiSon we consider all three of them are handled as attributes.
==== Regular Attributes and 1:1 Associations ====
If a concept has another concept as it's attribute this corresponds to :1 UML relations/association or UML
inheritance between the two concepts. The UML differentiation of attribute, association, inheritance is not
essentially necessary on the problem side. On the solutions side it will make a difference when
displaying the data. There may be different solution modes:
# displaying the attributes concept's attributes directly (this is like the UML attribute concept)
# displaying the attribute concept as a link (this is like the UML association concept)
# optionally hiding and showing the attributes's concepts attributes and making them available directly in the scope of the concept (this is like the UML inheritance concept)
==== Examples ====
===== Attribute =====
<uml>
class City{
name
Country myCountry
}
</uml>
myCountry is simply an attribute of City of type Country.
==== 1:1 association ====
<uml>
class MetroCity {
}
class City{
name
}
class Country {
name
}
City "1" -- "1 myCountry" Country
City "1 myCity" -- "1" MetroCity
</uml>
Country is simply handled like an attribute of City.
metrocity.myCity.myCountry.name will show the name of the country of the MetroCity in typical solution environments. What is the WikiSon equivalent?
Most UML knowlegeable people would be inclined to fix the above model and put an "n" on the City side of the Country-City association.
===== Inheritance =====
<uml>
class MetroCity {
}
class City{
name
}
class Country {
name
}
City "1" -- "1 myCountry" Country
City <|-- MetroCity
</uml>
metrocity.name will show the name of the metrocity
metrocity.myCountry.name will show the country of the metrocity
==== 1:n and n:m relations ====
* If I am a concept and another concept has a an attribute with me as a type than there is a 1:n relation between me and the other concept.
* If additionaly I do have an attribute with the other concept as a type than there is a n:m relation between me and the other concept.
{{PartnerPage}}
878fc2410670afe2ee6c5efc18e52c28fd97a766
SMW Types
0
30
68
2015-11-05T19:44:31Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:44:30Z
wikitext
text/x-wiki
{{SMW_Type
|documentation=Holds URIs, but has some technical differences during export compared to the 'URL' type
|type=Annotation URI
|typepage=Special:Types/Annotation_URI
|helppage=https://semantic-mediawiki.org/wiki/Help:Annotation_URI
|storemode=subobject
}}
{{SMW_Type
|documentation=Holds boolean (true/false) values
|type=Boolean
|typepage=Special:Types/Boolean
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Boolean
|javaType=boolean
|storemode=subobject
}}
{{SMW_Type
|documentation=Holds technical, pre-formatted texts (similar to type Text)
|type=Code
|typepage=Special:Types/Code
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Code
|javaType=String
|storemode=subobject
}}
{{SMW_Type
|documentation=Holds particular points in time
|type=Date
|typepage=Special:Types/Date
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Date
|javaType=java.util.Date
|storemode=subobject
}}
{{SMW_Type
|documentation=Holds e-mail addresses
|type=Email
|typepage=Special:Types/Email
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Email
|storemode=subobject
}}
{{SMW_Type
|documentation=Holds coordinates describing geographic locations
|type=Geographic coordinate
|typepage=Special:Types/Geographic_coordinate
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Geographic_coordinate
|storemode=subobject
}}
{{SMW_Type
|documentation=Holds integer and decimal numbers, with an optional exponent
|type=Number
|typepage=Special:Types/Number
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Number
|storemode=subobject
}}
{{SMW_Type
|documentation=Holds names of wiki pages, and displays them as a link
|type=Page
|typepage=Special:Types/Page
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Page
|storemode=subobject
}}
{{SMW_Type
|documentation=Holds values that describe quantities, containing both a number and a unit
|type=Quantity
|typepage=Special:Types/Quantity
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Quantity
|storemode=subobject
}}
{{SMW_Type
|documentation=Allows saving compound property values that consist of a short list of values with fixed type and order
|type=Record
|typepage=Special:Types/Record
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Record
|storemode=subobject
}}
{{SMW_Type
|documentation=Holds international telephone numbers based on the [https://tools.ietf.org/html/rfc3966 RFC 3966 standard]
|type=Telephone number
|typepage=Special:Types/Telephone_number
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Telephone_number
|storemode=subobject
}}
{{SMW_Type
|documentation=Holds temperature values (similar to type Quantity)
|type=Temperature
|typepage=Special:Types/Temperature
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Temperature
|storemode=subobject
}}
{{SMW_Type
|documentation=Holds text of arbitrary length
|type=Text
|typepage=Special:Types/Text
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Text
|javaType=String
|storemode=subobject
}}
{{SMW_Type
|documentation=Holds URIs, URNs and URLs
|type=URL
|typepage=Special:Types/URL
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_URL
|javaType=java.net.URI
|storemode=subobject
}}
[[Category:SMW_Type]]
67e69243bd00941954d9c756728f19e0f9fef41d
SiDIFTemplates
0
31
69
2015-11-05T19:44:34Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:44:32Z
wikitext
text/x-wiki
__TOC__
== Overview ==
This page contains {{sidif}} templates.
These templates can be used as a template for a {{Link|target=Template:Wikitask}}.
For convenience there is a template {{Link|target=Template:TopicWikitasks}} that creates a set of wikitasks for some of the templates below.
== Templates ==
=== category ===
<source lang='java' id='category' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// macro to create pageschema from simela triples
@def pageschema(Topic topic) {
@escape("xml") {
<PageSchema>
<semanticforms_Form name="@topic.name">
<standardInputs freeTextLabel="Free text"/>
</semanticforms_Form>
<Template name="@topic.name" format="standard">
@for (Property property:topic.propertiesByIndex()) {
<Field name="@property.name">
<semanticforms_FormInput>
<InputType>text</InputType>
</semanticforms_FormInput>
<semanticmediawiki_Property name="@(topic.name) @(property.name)">
<Type>Text</Type>
</semanticmediawiki_Property>
</Field>
}
</Template>
</PageSchema>
}
}
@// generate the category for the given topic
@def category(Topic topic) {
__NOTOC__
@// show the wikiDocumentation for this category
{{#ask: [[Topic name::@(topic.name)]] | ?Topic wikiDocumentation= | mainlabel=-}}
@(topic.pluralName) may be added and edited with the form [[has default form::@(topic.name)]]
* [[List of @(topic.pluralName)]]
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
@topic.name @(i18n("description"))
<div class="mw-collapsible-content">
@uml("uml",topic)
* [[Help:@topic.name]]
* [[Concept:@topic.name]]
* [[:Template:@topic.name]]
* [[:Form:@topic.name]]
=== Properties ===
@for (Property property:topic.propertiesByIndex()) {
* [[Property:@(topic.name) @(property.name)]]
}
</div>
</div>
}
@category(contextSetting.getMaintopic())
</source>
=== listof ===
<source lang='java' id='listof' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// generate the list of page for the given topic
@def listof(Topic topic) {
__NOCACHE__
@topicheader(topic)
== @topic.pluralName ==
@("{{")#ask: [[Concept:@topic.name]]
@for (Property property:topic.propertiesByIndex()) {
| ?@topic.name @(property.name) = @property.name
}
@("}}")
{{#forminput:form=@topic.name|button text=add @topic.name}}
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
=== SiDIF ===
<div class="mw-collapsible-content">
@("{{")#ask: [[Concept:@topic.name]]
| ?#=pageid
@for (Property property:topic.propertiesByIndex()) {
| ?@topic.name @property.name = @property.name
}
| mainlabel=-
| format=template
| named args=yes
| template=@topic.name
| userparam=sidif
| limit=300
@("}}")
</div>
</div>
[[:Category:@topic.name]]
}
@listof(contextSetting.getMaintopic())
</source>
=== concept ===
<source lang='java' id='concept' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// generate the given topic as a concept
@def topic(Topic topic) {
__NOCACHE__
@("{{")Topic
|name=@topic.name
|pluralName=@if (topic.pluralName) {@(topic.pluralName)} else { @(topic.name)s }
|icon=@topic.icon
|iconUrl=@topic.iconUrl
|documentation=@topic.documentation
|wikiDocumentation=@topic.wikiDocumentation
|defaultstoremode=@topic.defaultstoremode
|cargo=@topic.cargo
|context=@topic.context
|storemode=property
@("}}")
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Topic/{{FULLPAGENAME}}|title=edit @topic.name}}<br>
@("{{")Topic
|viewmode=masterdetail
|storemode=none
@("}}")
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
@topic.wikiDocumentation
@uml("uml",topic)
@("{{")#concept:
@if (topic.conceptProperty) {
[[@(topic.name) @(topic.conceptProperty.name)::+]]
} else {
[[Category:@topic.name]]
}
|@(topic.pluralName)
@seealso(topic)
@("}}")
[[Category:@topic.name]]
}
@topic(contextSetting.getMaintopic())
</source>
=== properties ===
<source lang='java' id='properties' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// properties for a specific Topic
@def property(Topic topic, Property property) {
@("{{")Property
|name=@property.name
|documentation=@property.documentation
|type=Special:Types/@property.type
|label=@property.label
|primaryKey=@property.primaryKey
|mandatory=@property.mandatory
|uploadable=@property.uploadable
|size=@property.size
|index=@property.index
|sortPos=@property.sortPos
|defaultValue=@property.defaultValue
|inputType=@property.inputType
|allowedValues=@property.allowedValues
@{
String topicWithConcept=topic.pageid;
if (topicWithConcept.startsWith("Konzept:")) {
topicWithConcept=topicWithConcept.replace("Konzept:","Concept:");
}
if (!topicWithConcept.startsWith("Concept:")) {
topicWithConcept="Concept:"+topicWithConcept;
}
}
|topic=@(topicWithConcept)
|storemode=property
@("}}")
[[Has type::@property.type]]
This is a Property with type @("{{#show: {{FULLPAGENAMEE}} | ?Property type#- }}")
}
@// properties for the given topic
@def properties(Topic topic) {
== properties of @(topic.name) ==
@for (Property property:topic.getProperties()) {
=== [[Property:@(topic.name) @(property.name)]] ===
<pre>
@(property(topic,property))
</pre>
}
}
@properties(contextSetting.getMaintopic())
</source>
=== instances ===
<source lang='java' id='instances' cache='true'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@// here some java code is declared and executed
@// the resulting variables can be used as template variables later
@{
TripleQuery query=tripleStore.query();
TripleQuery topics=query.query(null,"isA","Topic");
String maintopic=wikiTask.getParams();
}
@def wikison(TripleQuery query,String topicName, String name) {
@("{{")@topicName
@{ TripleQuery properties=query.query(name,null,null) }
|name=@name
@for (Triple property:properties.getTriples()) {
|@property.getPredicate()=@property.getObject()
}
|storeMode=subobject
@("}}")
}
@def wikison1toN(TripleQuery query,String topicName,String link,String linkTopicName) {
@{TripleQuery instances=query.query(null,"isA",topicName) }
@for (Triple instance:instances.getTriples()) {
@wikison(query,topicName,instance.getSubject().toString())
@{TripleQuery linstances=query.query(null,link,instance.getSubject().toString()) }
@for (Triple linstance:linstances.getTriples()) {
@wikison(query,linkTopicName,linstance.getSubject().toString())
}
}
}
@wikison1toN(query,maintopic,"answer","ZAnswer")
[[Category:@maintopic]]
</source>
=== form ===
<source lang='java' id='form' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// generate the form for the given topic
@def form(Topic topic) {
<noinclude>
This is the @("{{smartMediaWiki}}")-Form for "@topic.name".
Create a new @topic.name by entering a new pagename for a @topic.name
into the field below.
If you enter an existing @topic.name pagename - you will edit the @topic.name
with that pagename.
@{
String multiple="";
if ("subobject".equals(topic.defaultstoremode)) {
multiple="|multiple";
}
}
@("{{")#forminput:form=@topic.name|values from concept=@(topic.name)@("}}")
</noinclude><includeonly>
<div id="wikiPreview" style="display: none; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #AAAAAA;"></div>
@formtemplate(topic,multiple)
@("'''Freitext:'''")
@("{{{standard input|free text|rows=10}}}")
@("{{{standard input|summary}}}")
@("{{{standard input|minor edit}}} {{{standard input|watch}}}")
@("{{{standard input|save}}} {{{standard input|preview}}} {{{standard input|changes}}} {{{standard input|cancel}}}")
</includeonly>
}@// avoid newline
@form(contextSetting.getMaintopic())
</source>
=== template ===
<source lang='java' id='template' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// show the given property Label
@def String propertyLabel(Property property) {
if ((property.label!=null) && (!"".equals(property.label.trim()))) {return property.label;} else {return property.name;}
}
@// show the given Property
@def showProperty(Property property) {
@{
String linkPre="";
String linkPost="";
String namespace="";
if ((property.type!=null) && (property.type.endsWith("Page"))) { linkPre="[[";linkPost="]]";}
// do not do namespace handling at this time
// use map namespace from mediawik-japi!
// if (property.namespace!=null) { namespace=property.namespace+":";}
}@{{#if:{{{@(property.name)|}}}|@(linkPre)@(namespace)@("{{{")@(property.name)@("|}}}")@(linkPost)|}}
}
@// set the given Property
@def setProperty(Property property){
@(property.name)=@("{{{")@(property.name)|@("}}}")
}
@// sidif - newline relevant
@def sidif(Topic topic) {
@("{{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}}") isA @(topic.name)<br>@("|}}")@for (Property property:topic.propertiesByIndex()){@// avoid newline
@("{{#if:{{{")?@(property.name)@("|}}}|")"@("{{{")?@(property.name)@("}}}")" is @property.name of it <br>|@("}}")}
}
@// includeonly part of wiki template
@def includeonly(Topic topic, boolean withComment) {
@("{{#switch:"){{{userparam|}}}|sidif=@sidif(topic)
|#default=@("{{#switch:"){{{storemode|}}}
|none=
@if ("subobject".equals(topic.defaultstoremode)) {
|subobject=@("{{#subobject:-")
|isA=@(topic.name)
@for (Property property:topic.propertiesByIndex()) {
|@(topic.name) @setProperty(property)
}
@("}}")@//#subobject
}
|@("{{#set:")
|isA=@(topic.name)
@for (Property property:topic.propertiesByIndex()) {
|@topic.name @setProperty(property)
}
@("}}")@//#set
@("}}")@//#switch
@("{{#switch:") {{{viewmode|}}}
|masterdetail=
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@if (topicLink.targetTopic) {
=== @(topicLink.targetRole) ===
@("{{")#ask:[[Concept:@(topicLink.targetTopic.name)]][[@(topicLink.targetTopic.name) @(topicLink.sourceRole)::@("{{FULLPAGENAME}}")]]
@for (Property property:topicLink.targetTopic.propertiesByIndex()) {
| ?@(topicLink.targetTopic.name) @property.name = @property.name
}
@("}}")
}
}
|tableheader=@("{{{!}}") class='wikitable'
@{String delim="!";}
@for (Property property:topic.propertiesByIndex()) {@(delim)@(property.name)@{delim="!!";}}
@("\n{{!}}-")
|tablerow=
@{delim="{{!}}"}
@for (Property property:topic.propertiesByIndex()) {@(delim){{{@(property.name)|}}}@{delim="{{!}}{{!}}"}}
@("\n{{!}}-")
|tablefooter=@("{{!}}}")
|labelfield=
@for (Property property:topic.propertiesByIndex()) {@(property.name)=@(showProperty(property))<br>}
|#default=@("{{{!}}") class='wikitable'
! colspan='2' @("{{!}}")@(topic.name)
@("{{!}}-")
@for (Property property:topic.propertiesByIndex()) {@("!")@(propertyLabel(property))
@("{{!}}") @(showProperty(property))
@("{{!}}")-
}
@("{{!}}}")
@("}}")@//#switch
@("}}")@//#switch
@// do not add subobjects to category - this would make selecting the default form difficult
@if ("property".equals(topic.defaultstoremode)) {
[[Category:@topic.name]]
}
}
@// wikiSonUsage
@def wikiSonUsage(Topic topic,String modeLine) {
<pre>@("{{")@topic.name
@for (Property property:topic.propertiesByIndex()) {
|@property.name=
}
|@modeLine
@("}}")
</pre>
}@// avoid newline
@// noinclude part of wiki template
@def noinclude(Topic topic) {
This is the template {{Link|target=Template:@topic.name|title=@topic.name}}.
It belongs to the concept/topic {{Link|target=:Concept:@topic.name}}<br>
You may find examples for the use of this template via the {{Link|target=List of @(topic.pluralName)}}.
=== Usage ===
@{ String[] storeModes={"subobject","property","none"};}
@for (String storeMode:storeModes) {
==== storemode @storeMode ====
@wikiSonUsage(topic,"storemode="+storeMode)
}
@{ String[] viewModes={"tableheader","tablerow","tablefooter","labelfield"};}
@for (String viewMode:viewModes) {
==== viewmode @viewMode ====
@wikiSonUsage(topic,"viewmode="+viewMode)
}
=== Source ===
@("<source") lang='html4strict'>
@includeonly(topic,true)
@("<")@("/source>")
Click on "Edit" to edit the Source of this Template.
}@// avoid newline
@def template(Topic maintopic) {<noinclude>
@copyright()
@noinclude(maintopic)
</noinclude><includeonly>@includeonly(maintopic,false)</includeonly>}@// avoid newline
@template(contextSetting.getMaintopic())
</source>
=== javacodegen ===
<source lang='java' id='javacodegen' cache='true'>
@include(wiki.SiDIFTemplates.defs)
=== java code ===
@("<source lang='java' id='javacode'>")
@verbatim() {
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
}
@// user code section
@// smartGenerator compatible like:
@// // >>>{User defined import section}{::com::bitplan::ooa::OOAAssociation}{S37C96C0C016C}
@def printUserCode(String codetype,String key,String modelID) {
// >>>@("{")@(codetype)@("}")@("{")@(key)@("}")@("{")@(modelID)@("}")
// <<<@("{")@(codetype)@("}")@("{")@(key)@("}")@("{")@(modelID)@("}")
}
@// first character to Upper
@def String firstToUpper(String string) {
StringBuffer sb = new StringBuffer(string);
sb.replace(0, 1, string.substring(0, 1).toUpperCase());
return sb.toString();
}
@// generate javacode for the given topic
@def javacode(Context context) {
@("@def static {")
/**
* Base class
*/
static abstract class TopicBase {
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
@for(Topic topic:context.getTopics()) {
/**
* @topic.name
* @topic.documentation
*/
public static class @topic.name extends TopicBase @("{")
public String pageid;
@for(Property property:topic.getProperties()) {
public String @property.name;
}
@for(Property property:topic.getProperties()) {
public String get@(firstToUpper(property.name))() { return @property.name; }
public void set@(firstToUpper(property.name))(String p@(firstToUpper(property.name))) { @property.name=p@(firstToUpper(property.name)); }
}
/**
* convert this @topic.name to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for @topic.name
*/
public @(topic.name)() {}
/**
* construct a @topic.name from the given Triple
* @("@")param query - the TripleQuery to get the triples from
* @("@")param p@(topic.name)Triple - the triple to construct me from
*/
public @(topic.name)(TripleQuery query,Triple p@(topic.name)Triple) @("{")
this(query,p@(topic.name)Triple.getSubject().toString());
@("} // constructor")
/**
* construct a @topic.name from the given pageId
* @("@")param query - the TripleQuery to get the triples from
* @("@")param pageid - pageid
*/
public @(topic.name)(TripleQuery query,String pageid) @("{")
this.pageid=pageid;
@for(Property property:topic.getProperties()) {
Triple @(property.name)Triple=query.selectSingle(pageid,"@property.name",null);
if (@(property.name)Triple==null)
@(property.name)Triple=query.selectSingle(pageid,"Property:@(topic.name)_@property.name",null);
if (@(property.name)Triple!=null)
@(property.name)=@(property.name)Triple.getObject().toString();
}
init(query);
@("}") // constructor for @topic.name
@printUserCode("user defined topic code",topic.name,topic.name)
@("}") // class @topic.name
/**
* Manager for @topic.name
*/
public static class @(topic.name)Manager extends TopicBase @("{")
public String topicName="@(topic.name)";
public transient List<@topic.name> m@(topic.name)s=new ArrayList<@(topic.name)>();
public transient Map<String,@topic.name> m@(topic.name)Map=new LinkedHashMap<String,@(topic.name)>();
/**
* get my @(topic.pluralName)
*/
public List<@topic.name> get@(topic.pluralName)() {
List<@topic.name> result=this.m@(topic.name)s;
return result;
}
/**
* add a new @(topic.name)
*/
public @(topic.name) add(@(topic.name) p@(topic.name)) {
m@(topic.name)s.add(p@(topic.name));
m@(topic.name)Map.put(p@(topic.name).getPageid(),p@(topic.name));
return p@(topic.name);
}
/**
* add a new @(topic.name) from the given triple
*/
public @(topic.name) add(TripleQuery query,Triple p@(topic.name)Triple) {
@topic.name l@topic.name=new @(topic.name)(query,p@(topic.name)Triple);
add(l@(topic.name));
return l@(topic.name);
}
// reinitialize my m@(topic.name) map
public void reinit() {
m@(topic.name)Map.clear();
for (@(topic.name) l@(topic.name):m@(topic.name)s) {
m@(topic.name)Map.put(l@(topic.name).getPageid(),l@(topic.name));
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static @(topic.name)Manager fromJson(String json) {
@(topic.name)Manager result=JSON.parseObject(json, @(topic.name)Manager.class);
result.reinit();
return result;
}
// default constructor
public @(topic.name)Manager() {}
// construct me from the given triple Query query
public @(topic.name)Manager(TripleQuery query) @("{")
// first query the SiDIF bases triplestore
TripleQuery l@(topic.name)Query=query.query(null,"isA","@topic.name");
for (Triple l@(topic.name)Triple:l@(topic.name)Query.getTriples()) {
add(query,l@(topic.name)Triple);
}
// then the SMW triplestore
l@(topic.name)Query=query.query(null,"Property:IsA","@topic.name");
for (Triple l@(topic.name)Triple:l@(topic.name)Query.getTriples()) {
add(query,l@(topic.name)Triple);
}
init(query);
@("}") // constructor for @topic.name Manager
@printUserCode("user defined topicmanager code",topic.name,topic.name)
@("}") // class @topic.name Manager
}
@// end static
@("}")
}
@{
Context context=ContextFactory.getInstance().getContext(contextSetting);
}
@javacode(context)
</source>
=== help ===
<source lang='java' id='help'>
@include(wiki.SiDIFTemplates.defs)
@def help(Topic topic) {
== Help for @(topic.name) ==
@topicheader(topic)
=== Documentation ===
@topic.wikiDocumentation
=== Example @(topic.pluralName) ===
{{#ask: [[Concept:@(topic.name)]]
}}
=== Properties ===
{{#ask: [[Concept:Property]][[Property topic::Concept:@(topic.name)]]
| ?Property documentation = documentation
| ?Property type = type
| ?Property name = name
| ?Property label = label
| ?Property allowedValues = allowedValues
| ?Property mandatory = mandatory
| ?Property uploadable = uploadable
|format=table
}}
@uml("uml",topic)
@seealso(topic)
[[Category:@topic.name]]
}
@help(contextSetting.getMaintopic())
</source>
=== debug ===
<source lang='java' id='debug'>
@include(wiki.SiDIFTemplates.java)
@for (Topic topic:mTopicManager.mTopics) {
== @(topic.pageid) ==
=== Concept property ===
@if (topic.conceptProperty) {
* @topic.conceptProperty.pageid name=@topic.conceptProperty.name
}
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
=== source TopicLink @(topicLink.name) ===
* @topicLink.sourceMultiple @topicLink.source @(topicLink.sourceRole)
* @topicLink.targetMultiple @topicLink.target @(topicLink.targetRole)
}
@for (TopicLink topicLink:topic.targetTopicLinks.mTopicLinks) {
=== target TopicLink @(topicLink.name) ===
* @topicLink.sourceMultiple @topicLink.source @(topicLink.sourceRole)
* @topicLink.targetMultiple @topicLink.target @(topicLink.targetRole)
}
@for (Property property:topic.getProperties()) {
=== Property @(property.name) ===
<pre>
[[Has type::@property.type]]
@("{{")Property
|name=@property.name
|documentation=@property.documentation
|type=Special:Types/@property.type
|label=@property.label
|primaryKey=@property.primaryKey
|mandatory=@property.mandatory
|uploadable=@property.uploadable
|size=@property.size
|defaultValue=@property.defaultValue
|inputType=@property.inputType
|allowedValues=@property.allowedValues
|topic=Concept:@topic.pageid
@("}}")
[[has default form::Property]]
This is a Property with type @("{{#show: {{FULLPAGENAMEE}} | ?Property type#- }}")
</pre>
}
}
</source>
=== tripletable ===
<source lang='java' id='tripletable' cache='true'>
@include(wiki.SiDIFTemplates.java)
@// macro to show a table of triples
@def tripletable(String title,List<org.sidif.triple.Triple> triples) {
=== @title ===
{| class="wikitable sortable"
! subject !! predicate !! object
|-
@for (org.sidif.triple.Triple triple:triples) {
|@triple.getSubject() || @triple.getPredicate() || @triple.getObject()
|-
}
|}
}
@tripletable("all triples",query.getTriples())
@tripletable("topics",topics.getTriples())
</source>
=== defs ===
<source lang='java' id='defs' cache='true'>
@include(wiki.SiDIFTemplates.java)
@// macro to show BITPlan copyright
@def copyright() {<!--
-- Copyright (C) 2015 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->@// avoid newline
}
@// error handling - get a stack trace
@def String getStackTrace (Throwable t) {
StringWriter sw = new StringWriter();
t.printStackTrace(new PrintWriter(sw));
return sw.toString();
}
@// macro to to internationalize generator results
@def String i18n(String text) {
String targetLang=wikiTask.getWiki().getSiteInfo().getLang();
return text;
}
@// macro for the topic header of a topic
@def topicheader(Topic topic) {
{{#ask: [[Topic name::@(topic.name)]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
}
@// macro for the form template of a topic
@def formtemplate(Topic topic,String multiple) {
<!-- @(topic.name) -->
@("{{{")for template|@(topic.name)@(multiple)@("}}}")
@("{|") class="wikitable"
! colspan='2'| @topic.name
|-
@for (Property property:topic.propertiesByIndex()) {
! @property.label:
<!-- @property.type @property.name -->
@{
String allowedValues=""; if (property.allowedValues!=null) { allowedValues="|values="+property.allowedValues; }
String mandatory=""; if ("true".equals(property.mandatory)) { mandatory="|mandatory"; }
String uploadable=""; if ("true".equals(property.uploadable)) { uploadable="|uploadable"; }
String values_from=""; if (property.values_from!=null) { values_from="|values from "+property.values_from; }
String defaultValue=""; if (property.defaultValue!=null) { defaultValue="|default="+property.defaultValue; }
}
| @("{{{")field|@property.name|input type=@property.inputType|property=@(topic.name) @(property.name)|size=@(property.size)@(mandatory)@(uploadable)@(values_from)@(allowedValues)@(defaultValue)@("}}}")
|-
}
@("|}")
@("{{{")field|storemode|default=@(topic.defaultstoremode)|hidden@("}}}")
@("{{{end template}}}")
<!-- @(topic.name) -->
}
@// macro to to show relevant links for a topic
@def seealso(Topic topic) {
see also
* [[List of @(topic.pluralName)]]
* [[Help:@topic.name]]
* [[Concept:@topic.name]]
* [[:Category:@topic.name]]
* [[:Template:@topic.name]]
* [[:Form:@topic.name]]
topic links:
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@if (topicLink.targetTopic) {
* [[:Category:@(topicLink.targetTopic.name)]]
}
}
}
@// macro to create skin params for BITPlan corporate identity
@def bitplanumlci(int fontSize) {
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
@{ String skinparams[] = {"note", "component", "package", "usecase","activity","classAttribute","interface","class","object"}; }
@for (String skinparam:skinparams) {
skinparam @skinparam {
BackGroundColor #FFFFFF
FontSize @fontSize
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
}
hide Circle
' end of skinparams '
}
@// macro to create Relation
@def plantUmlRelation(TopicLink topicLink) {
@{
String sourceMany="1";
String targetMany="1";
if ("true".equals(topicLink.sourceMultiple)) sourceMany="*";
if ("true".equals(topicLink.targetMultiple)) targetMany="*";
}
@(topicLink.source) "@(topicLink.sourceRole) (@(sourceMany))" -- "@(topicLink.targetRole)(@(targetMany))" @(topicLink.target)
}
@// macro to create uml from simela triples
@def uml(String title,Topic topic) {
=== @title ===
<uml>
title @topic.name
note as @(topic.name)DiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as @(topic.name)Note
@(topic.documentation)
end note
class @topic.name @("{")
@for (Property property:topic.propertiesByIndex()) {
@(property.type) @(property.name)
}
@("}")
@(topic.name)Note .. @(topic.name)
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@plantUmlRelation(topicLink)
}
@for (TopicLink topicLink:topic.targetTopicLinks.mTopicLinks) {
@plantUmlRelation(topicLink)
}
@bitplanumlci(12)
</uml>
}
</source>
=== dialogdefs ===
<source lang='java' id='dialogdefs' cache='true'>
@import java.net.URLEncoder
@// JQuery imports
@def jquery(String indent) {
@(indent)<!-- JQuery Code for resthtmlview -->
@(indent)<script src="/resthtmlview/js/jquery-1.10.2.min.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/jquery-ui-1.10.0.custom.js"></script>
@(indent)<script src="/resthtmlview/js/i18n/grid.locale-en.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/ui.multiselect.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/jquery.ui.message.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/jquery.jqGrid.min.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/redactor.min.js" type="text/javascript"></script>
@(indent)<!-- load jQuery and tablesorter scripts -->
@(indent)<script src="/resthtmlview/js/jquery.tablesorter.min.js"></script>
@(indent)<script src="/resthtmlview/js/jquery.tablesorter.widgets.js"></script>
@(indent)<script src="/resthtmlview/js/jquery.metadata.js"></script>
@(indent)<!-- JQuery Styles for resthtmlview -->
@(indent)<link href="/resthtmlview/css/form.css" type="text/css" media="screen" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/messages.css" type="text/css" media="screen" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/bitplanfadetogrey/jquery-ui-1.10.1.custom.css" type="text/css" media="screen" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/ui.jqgrid.css" type="text/css" media="screen" rel="stylesheet" />
@(indent)<link href="/resthtmlview/css/ui.multiselect.css" type="text/css" media="screen" rel="stylesheet" />
@(indent)<!-- Tablesorter: required -->
@(indent)<link href="/resthtmlview/css/theme.blue.css" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/searchFilter.css" type="text/css" media="screen" rel="stylesheet" />
@(indent)<link href="/resthtmlview/css/redactor.css" type="text/css" media="screen" rel="stylesheet" />
}
@// CSS Style definitions
@def style(String indent) {
@(indent)<style>
@(indent) body { height:100% }
@(indent) #container {
@(indent) background-color: #f0f0f0; /* lightblue background */
@(indent) width: 100%; /* Container has full width */
@(indent) margin: auto; /* center container */
@(indent) min-height: 100%; /* minimum height 100 % (for modern browsers) */
@(indent) height: auto !important; /* important Behel (for modern browsers */
@(indent) height: 100%; /* IE shall work as specified */
@(indent) overflow: hidden !important; /* firefox scrollbar */
@(indent) }
@(indent)</style>
}
@// dialog definition
@def dialog(String indent) {
@(indent)<script type="text/javascript">
@(indent) $(document).ready(function() {
@(indent) var wWidth = $(window).width();
@(indent) var wHeight = $(window).height();
@(indent) var dTopy = wHeight * 0.25; // top at 25% of window height
@(indent) var dTopx = wWidth * 0.25; // left at 25% of window width
@(indent) var dWidth = 'auto'; //this will make the dialog 98% of the window size
@(indent) var dHeight = 'auto';
@(indent) $( "#dialog" ).dialog({
@(indent) // position : [ dTopx, dTopy ],
@(indent) width : dWidth,
@(indent) height : dHeight,
@(indent) modal : true,
@(indent) // title: ""+wWidth+"x"+wHeight+" "+dTopx+":"+dTopy,
@(indent) my: "center",
@(indent) at: "center",
@(indent) of: window,
@(indent) show : {
@(indent) effect : "blind",
@(indent) duration : 500
@(indent) },
@(indent) hide : {
@(indent) effect : "fade",
@(indent) duration : 500
@(indent) }
@(indent) });
@(indent) // tabs
@(indent) $( "#tabs" ).tabs();
@(indent) // tablesorter
@(indent) $.extend( $.tablesorter.defaults, {
@(indent) theme: 'blue',
@(indent) widthFixed: false
@(indent) });
@(indent) $(".sortable").tablesorter();
@(indent) });
@(indent)</script>
}
@// display the given stockicon
@def String stockicon(String name,int size,String alt,String title) {
String iconhref="/stockicons/"+size+"x"+size+"/shadow/"+name+".png";
String img="<img src='"+iconhref+"' alt='"+alt+"' title='"+title+"' width='"+size+"px' height='"+size+"px' >";
return img;
}
@// url encode the given txt
@def String urlEncode(String txt) {
String result=URLEncoder.encode(txt, "UTF-8");
return result;
}
@def selectall() {
<script>
/**
* http://stackoverflow.com/questions/432493/how-do-you-access-the-matched-groups-in-a-javascript-regular-
* expression
* examples:
*
* var matches = getRegexMatches(/(dog)/, "dog boat, cat car dog");
* console.log(matches);
*
* var matches = getRegexMatches(/(dog|cat) (boat|car)/, "dog boat, cat car");
* console.log(matches);
*/
function getRegexMatches(regex, string) {
if(!(regex instanceof RegExp)) {
return "ERROR";
}
else {
if (!regex.global) {
// If global flag not set, create new one.
var flags = "g";
if (regex.ignoreCase) flags += "i";
if (regex.multiline) flags += "m";
if (regex.sticky) flags += "y";
regex = RegExp(regex.source, flags);
}
}
var matches = [];
var match = regex.exec(string);
while (match) {
if (match.length > 2) {
var group_matches = [];
for (var i = 1; i < match.length; i++) {
group_matches.push(match[i]);
}
matches.push(group_matches);
}
else {
matches.push(match[1]);
}
match = regex.exec(string);
}
return matches;
}
/**
* get the select_row or select_col checkboxes dependening on the selectType row/col
*/
function getSelectCheckboxes(selectType) {
var regex=new RegExp("select_"+selectType+"_");
var result= $('input').filter(function() {return this.id.match(regex);});
return result;
}
/**
* matrix selection logic
* the goal is to provide select all / select row x / select col x
* checkboxes that will allow to
* select all: select all grid elements
* select row: select the grid elements in the given row
* select col: select the grid elements in the given col
*
* There is a naming convention for the ids and css style classes of the the selectors and elements:
* select all -> id: selectall
* select row -> id: select_row_row e.g. select_row_2
* select col -> id: select_col_col e.g. select_col_3
* grid element -> class checkBoxClass col_col row_row e.g. checkBoxClass row_2 col_3
*/
function checkSelectStates() {
// get the list of grid checkbox elements
// all checkboxes
var all = $('.checkBoxClass');
// all select row check boxes
var rows = getSelectCheckboxes('row');
// all select columnn check boxes
var cols = getSelectCheckboxes('col');
// console.log("rows: "+rows.length+", cols:"+cols.length+" total: "+all.length);
// get the total number of checkboxes in the grid
var allLen=all.length;
// get the number of checkboxes in the checked state
var filterLen=all.filter(':checked').length;
// console.log(allLen+"-"+filterLen);
// if all checkboxes are in the checked state
// set the state of the selectAll checkbox to checked to be able
// to deselect all at once, otherwise set it to unchecked to be able to select all at once
if (allLen == filterLen) {
$("#selectall").prop("checked", true);
} else {
$("#selectall").prop("checked", false);
}
// now check the completeness of the rows
for (row = 0; row < rows.length; row++) {
var rowall=$('.row_'+row);
var rowchecked=rowall.filter(':checked');
if (rowall.length == rowchecked.length) {
$("#select_row_"+row).prop("checked", true);
} else {
$("#select_row_"+row).prop("checked", false);
}
}
// now check the completeness of the cols
for (col = 0; col < cols.length; col++) {
var colall=$('.col_'+col);
var colchecked=colall.filter(':checked');
if (colall.length == colchecked.length) {
$("#select_col_"+col).prop("checked", true);
} else {
$("#select_col_"+col).prop("checked", false);
}
}
}
$(document).ready(function () {
// handle click event for Select all check box
$("#selectall").click(function () {
// set the checked property of all grid elements to be the same as
// the state of the SelectAll check box
var state=$("#selectall").prop('checked');
$(".checkBoxClass").prop('checked', state);
getSelectCheckboxes('row').prop('checked', state);
getSelectCheckboxes('col').prop('checked', state);
});
// handle clicks within the grid
$(".checkBoxClass").on( "click", function() {
checkSelectStates();
});
$('.checkboxSelect').on( "click", function() {
var matchRowColArr=getRegexMatches(/select_(row|col)_([0-9]+)/,this.id);
var matchRowCol=matchRowColArr[0];
// console.log(matchRowCol);
if (matchRowCol.length==2) {
var selectType=matchRowCol[0]; // e.g. row
var selectIndex=matchRowCol[1]; // e.g. 2
// console.log(this.id+" clicked to select "+selectType+" "+selectIndex);
// e.g. .row_2
$("."+selectType+"_"+selectIndex)
.prop('checked', $("#select_"+selectType+"_"+selectIndex).prop('checked'));
checkSelectStates();
}
});
});
</script>
}
</source>
=== java ===
The debugging version of the SiDIF Templates
<source lang='java' id='java' cache='true'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.TripleStore
@import org.sidif.triple.Triple
@import org.sidif.wiki.SMW_Triples
@import com.alibaba.fastjson.JSON
@// import instead of src
@import com.bitplan.topic.TopicStatic.YT
@import com.bitplan.topic.TopicStatic.Context
@import com.bitplan.topic.TopicStatic.Topic
@import com.bitplan.topic.TopicStatic.Property
@import com.bitplan.topic.TopicStatic.SMW_Type
@import com.bitplan.topic.TopicStatic.TopicLink
@import com.bitplan.topic.TopicStatic.ContextManager
@import com.bitplan.topic.TopicStatic.TopicManager
@import com.bitplan.topic.TopicStatic.PropertyManager
@import com.bitplan.topic.TopicStatic.SMW_TypeManager
@import com.bitplan.topic.TopicStatic.TopicLinkManager
@import com.bitplan.topic.ContextFactory
@import com.bitplan.topic.ContextSetting
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
</source>
=== javasrc ===
<source lang='java' id='javasrc' cache='true'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.TripleStore
@import org.sidif.triple.Triple
@import org.sidif.wiki.SMW_Triples
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
com.bitplan.topic.TopicManager topicManager
}
@def static {
/**
* Base class
*/
static abstract class TopicBase {
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
/**
* technical part of Y-Principle
*
* @author wf
*
*/
static class YT {
// Y-Principle technical parts
public static YT yts[] = {
new YT("Category", "Category", "category",
"/images/d/d6/Category_Icon.png"),
new YT("Concept", "Concept", "concept", "/images/2/25/Concept_Icon.png"),
new YT("Form", "Form", "form", "/images/e/e5/Form_icon.jpg"),
new YT("Help", "Help", "help", "/images/7/7a/Help_Icon.png"),
new YT("Listof", "List of", "listof", "/images/7/7f/List_Icon.png"),
new YT("Template", "Template", "template",
"/images/6/61/Icon_template.png"),
new YT("Properties", "Properties", "properties",
"/images/6/6a/Element_into_input.png"),
new YT("Java", "Java", "javacodegen",
"/images/3/38/Java_icon.png") };
/**
* get the YT with the given name
*
* @param ytname
*/
public static YT getYT(String ytname) {
for (YT yt : yts) {
if (yt.name.equals(ytname)) {
return yt;
}
}
return null;
}
String name;
String label;
String iconUrl;
String template;
/**
* construct me with name label and icon url
*
* @param name
* @param label
* @param iconUrl
*/
public YT(String name, String label,String template, String iconUrl) {
super();
this.name = name;
this.label = label;
this.template=template;
this.iconUrl = iconUrl;
}
/**
* a part where name and label is different
*
* @param name
* @param label
*/
public YT(String name, String label) {
this(name,label,name.toLowerCase(),"Datei:"+name+".png");
}
/**
* a part where name and label is the same
*
* @param name
*/
public YT(String name) {
this(name, name);
}
/**
* get the page Title for the given topic name
*
* @param topicname
* @return
*/
public String getPageTitle(Topic topic) {
String result = this.name + ":" + topic.name;
if ("Listof".equals(name)) {
result = "List_of_" + topic.pluralName.replace(" ","_");
}
if ("Properties".equals(name)) {
result = "Concept:" + topic.name.replace(" ","_")+"/Properties";
}
return result;
}
}
/**
* Context A Context groups some topics like a Namespace/Package
*/
static class Context extends TopicBase {
String pageid;
String name;
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
/**
* convert this Context to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for Context
*/
public Context() {
}
/**
* construct a Context from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pContextTriple
* - the triple to construct me from
*/
public Context(TripleQuery query, Triple pContextTriple) {
this(query, pContextTriple.getSubject().toString());
} // constructor
/**
* construct a Context from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public Context(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query.selectSingle(pageid, "Property:Context_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
init(query);
} // constructor for Context
// >>>{user defined topic code}{Context}{Context}
/**
* get the propertySidif of the given property
* @param name
* @param value
* @return
*/
public String propertySiDIF(String name,String value, String type) {
String result="";
String quote="";
if ("Text".equals(type)) {
quote="\"";
}
if (value!=null) {
result+=quote+value+quote+" is "+name+" of it\n";
}
return result;
}
/**
* get me as a String
* @param name
* @param value
* @return
*/
public String propertySiDIF(String name,String value) {
String result=propertySiDIF(name,value,"Text");
return result;
}
/**
* return me as a SiDIF string
* @return
*/
public String asSiDIF() {
String result="";
result+="#\n";
result+="# Context:"+getName()+"\n";
result+="#\n";
result+=getPageid()+" isA Context\n";
result+=this.propertySiDIF("name", name);
for (Topic topic:this.getTopics()) {
result+="#\n";
result+="#"+topic.getName()+"\n";
result+="#\n";
result+=topic.name+" isA Topic\n";
result+=this.propertySiDIF("name", topic.name);
result+=this.propertySiDIF("pluralName", topic.pluralName);
result+=this.propertySiDIF("documentation",topic.documentation);
result+=this.propertySiDIF("wikiDocumentation",topic.wikiDocumentation);
result+=this.propertySiDIF("icon",topic.icon);
result+=this.propertySiDIF("defaultstoremode", topic.defaultstoremode);
result+=this.propertySiDIF("context", this.getName());
for (Property property:topic.getProperties()) {
result+=topic.getName()+"_"+property.getName()+" addsTo it\n";
}
for (Property property:topic.getProperties()) {
result+=topic.getName()+"_"+property.getName()+" isA Property\n";
result+=propertySiDIF("name",property.name);
result+=propertySiDIF("allowedValues",property.allowedValues);
result+=propertySiDIF("defaultValue",property.defaultValue);
result+=propertySiDIF("documentation",property.documentation);
result+=propertySiDIF("inputType",property.inputType);
result+=propertySiDIF("label",property.label);
result+=propertySiDIF("mandatory", property.mandatory,"Boolean");
result+=propertySiDIF("namespace",property.namespace);
result+=propertySiDIF("primaryKey",property.primaryKey,"Boolean");
result+=propertySiDIF("pageid",property.pageid);
result+=propertySiDIF("size",property.size,"Number");
result+=propertySiDIF("topic",topic.getName());
}
}
return result;
}
// 1:n relation to topics
TopicManager topics = new TopicManager();
/**
* accessor for 1:n relation to topics
*
* @return
*/
public List<Topic> getTopics() {
return topics.mTopics;
}
/**
* recreate topics from a given list
* @param pTopics
*/
public void setTopics(List<Topic> pTopics) {
topics = new TopicManager();
topics.mTopics=pTopics;
for (Topic topic:pTopics) {
topics.mTopicMap.put(topic.getPageid(), topic);
}
}
// <<<{user defined topic code}{Context}{Context}
} // class Context
/**
* Manager for Context
*/
static class ContextManager extends TopicBase {
public String topicName = "Context";
public List<Context> mContexts = new ArrayList<Context>();
public Map<String, Context> mContextMap = new LinkedHashMap<String, Context>();
/**
* add a new Context
*/
public Context add(Context pContext) {
mContexts.add(pContext);
mContextMap.put(pContext.getPageid(), pContext);
return pContext;
}
/**
* add a new Context from the given triple
*/
public Context add(TripleQuery query, Triple pContextTriple) {
Context lContext = new Context(query, pContextTriple);
add(lContext);
return lContext;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public ContextManager() {
}
// construct me from the given triple Query query
public ContextManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lContextQuery = query.query(null, "isA", "Context");
for (Triple lContextTriple : lContextQuery.getTriples()) {
add(query, lContextTriple);
}
// then the SMW triplestore
lContextQuery = query.query(null, "Property:IsA", "Context");
for (Triple lContextTriple : lContextQuery.getTriples()) {
add(query, lContextTriple);
}
init(query);
} // constructor for Context Manager
// >>>{user defined topicmanager code}{Context}{Context}
public TopicManager mTopicManager;
public PropertyManager mPropertyManager;
/**
* run pass 2 to link topics to context
*
* @return
*/
public List<String> pass2() {
List<String> result = new ArrayList<String>();
for (Topic topic : mTopicManager.mTopics) {
if (topic.context != null) {
Context context = this.mContextMap.get(topic.context);
if (context != null) {
context.topics.mTopics.add(topic);
} else {
result.add("Context '" + topic.context + "' not found");
}
}
}
for (Property property : mPropertyManager.mPropertys) {
if (property.topic != null) {
Topic topic = mTopicManager.mTopicMap.get(property.topic);
if (topic != null) {
// FIXME use an add function that also adds to the map
topic.properties.mPropertys.add(property);
} else {
result.add("Topic '" + property.topic + "' not found");
}
}
}
return result;
}
/**
* construct me from a tripleStore
*
* @param tripleStore
*/
public ContextManager(TripleStore tripleStore) {
this(tripleStore.query());
mTopicManager = new TopicManager(tripleStore.query());
mPropertyManager = new PropertyManager(tripleStore.query());
mTopicManager.configureTopics();
pass2();
}
// <<<{user defined topicmanager code}{Context}{Context}
} // class Context Manager
/**
* Topic A Topic is a Concept/Class/Thing/Entity
*/
static class Topic extends TopicBase {
String pageid;
String name;
String pluralName;
String icon;
String wikiDocumentation;
String documentation;
String defaultstoremode;
String context;
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
public String getPluralName() {
return pluralName;
}
public void setPluralName(String pPluralName) {
pluralName = pPluralName;
}
public String getIcon() {
return icon;
}
public void setIcon(String pIcon) {
icon = pIcon;
}
public String getWikiDocumentation() {
return wikiDocumentation;
}
public void setWikiDocumentation(String pWikiDocumentation) {
wikiDocumentation = pWikiDocumentation;
}
public String getDocumentation() {
return documentation;
}
public void setDocumentation(String pDocumentation) {
documentation = pDocumentation;
}
public String getDefaultstoremode() {
return defaultstoremode;
}
public void setDefaultstoremode(String pDefaultstoremode) {
defaultstoremode = pDefaultstoremode;
}
public String getContext() {
return context;
}
public void setContext(String pContext) {
context = pContext;
}
/**
* convert this Topic to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for Topic
*/
public Topic() {
}
/**
* construct a Topic from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pTopicTriple
* - the triple to construct me from
*/
public Topic(TripleQuery query, Triple pTopicTriple) {
this(query, pTopicTriple.getSubject().toString());
} // constructor
/**
* construct a Topic from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public Topic(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query.selectSingle(pageid, "Property:Topic_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
Triple pluralNameTriple = query.selectSingle(pageid, "pluralName", null);
if (pluralNameTriple == null)
pluralNameTriple = query.selectSingle(pageid,
"Property:Topic_pluralName", null);
if (pluralNameTriple != null)
pluralName = pluralNameTriple.getObject().toString();
Triple iconTriple = query.selectSingle(pageid, "icon", null);
if (iconTriple == null)
iconTriple = query.selectSingle(pageid, "Property:Topic_icon", null);
if (iconTriple != null)
icon = iconTriple.getObject().toString();
Triple wikiDocumentationTriple = query.selectSingle(pageid,
"wikiDocumentation", null);
if (wikiDocumentationTriple == null)
wikiDocumentationTriple = query.selectSingle(pageid,
"Property:Topic_wikiDocumentation", null);
if (wikiDocumentationTriple != null)
wikiDocumentation = wikiDocumentationTriple.getObject().toString();
Triple documentationTriple = query.selectSingle(pageid, "documentation",
null);
if (documentationTriple == null)
documentationTriple = query.selectSingle(pageid,
"Property:Topic_documentation", null);
if (documentationTriple != null)
documentation = documentationTriple.getObject().toString();
Triple defaultstoremodeTriple = query.selectSingle(pageid,
"defaultstoremode", null);
if (defaultstoremodeTriple == null)
defaultstoremodeTriple = query.selectSingle(pageid,
"Property:Topic_defaultstoremode", null);
if (defaultstoremodeTriple != null)
defaultstoremode = defaultstoremodeTriple.getObject().toString();
Triple contextTriple = query.selectSingle(pageid, "context", null);
if (contextTriple == null)
contextTriple = query.selectSingle(pageid, "Property:Topic_context",
null);
if (contextTriple != null)
context = contextTriple.getObject().toString();
init(query);
} // constructor for Topic
// >>>{user defined topic code}{Topic}{Topic}
PropertyManager properties = new PropertyManager();
TopicLinkManager sourceTopicLinks = new TopicLinkManager();
TopicLinkManager targetTopicLinks = new TopicLinkManager();
Property conceptProperty; // the Property to be used when selecting a
// Concept
/**
* get the Properties
*
* @return
*/
public List<Property> getProperties() {
return properties.mPropertys;
}
/**
* initialize me with the given query
*
* @Override
*/
public void init(TripleQuery query) {
TripleQuery propertyQuery = query.query(null, "addsTo", pageid);
if (propertyQuery != null) {
for (Triple property : propertyQuery.getTriples()) {
properties.add(query, property);
}
}
addTopicLinks(query, sourceTopicLinks, "source");
addTopicLinks(query, targetTopicLinks, "target");
if (name == null) {
name = pageid;
}
if (pluralName == null) {
pluralName = name + "s";
}
// add Properties for targetTopicLinks
// this is the referenced to the "neighbour" Topic
for (TopicLink topicLink : targetTopicLinks.mTopicLinks) {
Property property = new Property();
property.pageid = topicLink.sourceRole;
property.name = property.pageid;
property.label = property.name;
property.type = "Page";
// make sure the form shows the neighbour concept as an option
String sourceName = topicLink.source;
// remove "Concept:" prefix !!! FIXME - this is language dependent
// and a horrible work around for the time being
sourceName = sourceName.replace("Concept:", "");
sourceName = sourceName.replace("Konzept:", "");
property.values_from = "concept=" + sourceName;
property.inputType = "dropdown";
properties.mPropertys.add(property);
}
}
/**
* add the topicLinks
*
* @param query
* - the TripleQuery to get the triples from
* @param tm
* - the TopicLinkManager to add the topic links to
* @param predicate
* - the predicate to be used for linking
*/
public void addTopicLinks(TripleQuery query, TopicLinkManager tm,
String predicate) {
TripleQuery linkQuery = query.query(null, predicate, pageid);
if (linkQuery != null) {
for (Triple linkTriple : linkQuery.getTriples()) {
String link = linkTriple.getSubject().toString();
TopicLink topiclink = new TopicLink(query, link);
tm.mTopicLinks.add(topiclink);
}
}
}
/**
* check my source TopicLinks and set the targetTopic by looking it up
*/
public void linkTargetTopics(TopicManager tm) {
for (TopicLink sourceTopicLink : sourceTopicLinks.mTopicLinks) {
String topicTarget = sourceTopicLink.target; // e.g. Concept:Property;
topicTarget = topicTarget.replace("Concept:", ""); // remove Concept
// part
topicTarget = topicTarget.replace("Koncept:", ""); // remove Concept
// part
Topic targetTopic = tm.byName(topicTarget);
if (targetTopic != null) {
sourceTopicLink.targetTopic = targetTopic;
}
}
}
/**
* set the concept Property for the given target Property
*/
public void setConceptProperty() {
for (Property property : properties.mPropertys) {
if ("true".equals(property.mandatory)
|| "true".equals(property.primaryKey)) {
conceptProperty = property;
break;
}
}
}
// <<<{user defined topic code}{Topic}{Topic}
} // class Topic
/**
* Manager for Topic
*/
static class TopicManager extends TopicBase {
public String topicName = "Topic";
public List<Topic> mTopics = new ArrayList<Topic>();
public Map<String, Topic> mTopicMap = new LinkedHashMap<String, Topic>();
/**
* add a new Topic
*/
public Topic add(Topic pTopic) {
mTopics.add(pTopic);
mTopicMap.put(pTopic.getPageid(), pTopic);
return pTopic;
}
/**
* add a new Topic from the given triple
*/
public Topic add(TripleQuery query, Triple pTopicTriple) {
Topic lTopic = new Topic(query, pTopicTriple);
add(lTopic);
return lTopic;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public TopicManager() {
}
// construct me from the given triple Query query
public TopicManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicQuery = query.query(null, "isA", "Topic");
for (Triple lTopicTriple : lTopicQuery.getTriples()) {
add(query, lTopicTriple);
}
// then the SMW triplestore
lTopicQuery = query.query(null, "Property:IsA", "Topic");
for (Triple lTopicTriple : lTopicQuery.getTriples()) {
add(query, lTopicTriple);
}
init(query);
} // constructor for Topic Manager
// >>>{user defined topicmanager code}{Topic}{Topic}
/**
* get a topic by the given name
*
* @param topicName
* - the name of the topic to get FIXME - speedup?
*/
public Topic byName(String topicName) {
Topic result = null;
for (Topic topic : mTopics) {
if (topicName.equals(topic.name)) {
result = topic;
}
}
return result;
} // byName
/**
* configure Topics: link TargetTopics set Concept Properties
*/
public void configureTopics() {
for (Topic topic : mTopics) {
topic.setConceptProperty();
topic.linkTargetTopics(this);
}
}
// <<<{user defined topicmanager code}{Topic}{Topic}
} // class Topic Manager
/**
* SMW_Type an SMW_Type is a data type which determines the possible values
* for that type e.g. a Boolean can hold true/fals values while a Number can
* hold 3.1459 or 20. A Page can hold the name of a Wiki page see
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
*/
static class SMW_Type extends TopicBase {
String pageid;
String documentation;
String type;
String typepage;
String helppage;
String javaType;
public String getDocumentation() {
return documentation;
}
public void setDocumentation(String pDocumentation) {
documentation = pDocumentation;
}
public String getType() {
return type;
}
public void setType(String pType) {
type = pType;
}
public String getTypepage() {
return typepage;
}
public void setTypepage(String pTypepage) {
typepage = pTypepage;
}
public String getHelppage() {
return helppage;
}
public void setHelppage(String pHelppage) {
helppage = pHelppage;
}
public String getJavaType() {
return javaType;
}
public void setJavaType(String pJavaType) {
javaType = pJavaType;
}
/**
* convert this SMW_Type to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for SMW_Type
*/
public SMW_Type() {
}
/**
* construct a SMW_Type from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pSMW_TypeTriple
* - the triple to construct me from
*/
public SMW_Type(TripleQuery query, Triple pSMW_TypeTriple) {
this(query, pSMW_TypeTriple.getSubject().toString());
} // constructor
/**
* construct a SMW_Type from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public SMW_Type(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple documentationTriple = query.selectSingle(pageid, "documentation",
null);
if (documentationTriple == null)
documentationTriple = query.selectSingle(pageid,
"Property:SMW_Type_documentation", null);
if (documentationTriple != null)
documentation = documentationTriple.getObject().toString();
Triple typeTriple = query.selectSingle(pageid, "type", null);
if (typeTriple == null)
typeTriple = query.selectSingle(pageid, "Property:SMW_Type_type", null);
if (typeTriple != null)
type = typeTriple.getObject().toString();
Triple typepageTriple = query.selectSingle(pageid, "typepage", null);
if (typepageTriple == null)
typepageTriple = query.selectSingle(pageid,
"Property:SMW_Type_typepage", null);
if (typepageTriple != null)
typepage = typepageTriple.getObject().toString();
Triple helppageTriple = query.selectSingle(pageid, "helppage", null);
if (helppageTriple == null)
helppageTriple = query.selectSingle(pageid,
"Property:SMW_Type_helppage", null);
if (helppageTriple != null)
helppage = helppageTriple.getObject().toString();
Triple javaTypeTriple = query.selectSingle(pageid, "javaType", null);
if (javaTypeTriple == null)
javaTypeTriple = query.selectSingle(pageid,
"Property:SMW_Type_javaType", null);
if (javaTypeTriple != null)
javaType = javaTypeTriple.getObject().toString();
init(query);
} // constructor for SMW_Type
// >>>{user defined topic code}{SMW_Type}{SMW_Type}
// <<<{user defined topic code}{SMW_Type}{SMW_Type}
} // class SMW_Type
/**
* Manager for SMW_Type
*/
static class SMW_TypeManager extends TopicBase {
public String topicName = "SMW_Type";
public List<SMW_Type> mSMW_Types = new ArrayList<SMW_Type>();
public Map<String, SMW_Type> mSMW_TypeMap = new LinkedHashMap<String, SMW_Type>();
/**
* add a new SMW_Type
*/
public SMW_Type add(SMW_Type pSMW_Type) {
mSMW_Types.add(pSMW_Type);
mSMW_TypeMap.put(pSMW_Type.getPageid(), pSMW_Type);
return pSMW_Type;
}
/**
* add a new SMW_Type from the given triple
*/
public SMW_Type add(TripleQuery query, Triple pSMW_TypeTriple) {
SMW_Type lSMW_Type = new SMW_Type(query, pSMW_TypeTriple);
add(lSMW_Type);
return lSMW_Type;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public SMW_TypeManager() {
}
// construct me from the given triple Query query
public SMW_TypeManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lSMW_TypeQuery = query.query(null, "isA", "SMW_Type");
for (Triple lSMW_TypeTriple : lSMW_TypeQuery.getTriples()) {
add(query, lSMW_TypeTriple);
}
// then the SMW triplestore
lSMW_TypeQuery = query.query(null, "Property:IsA", "SMW_Type");
for (Triple lSMW_TypeTriple : lSMW_TypeQuery.getTriples()) {
add(query, lSMW_TypeTriple);
}
init(query);
} // constructor for SMW_Type Manager
// >>>{user defined topicmanager code}{SMW_Type}{SMW_Type}
// <<<{user defined topicmanager code}{SMW_Type}{SMW_Type}
} // class SMW_Type Manager
/**
* Property a Property is a Feature/Attribute
*/
static class Property extends TopicBase {
String pageid;
String documentation;
String name;
String type;
String label;
String primaryKey;
String mandatory;
String uploadable;
String size;
String defaultValue;
String inputType;
String namespace;
String values_from;
String allowedValues;
String topic;
public String getDocumentation() {
return documentation;
}
public void setDocumentation(String pDocumentation) {
documentation = pDocumentation;
}
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
public String getType() {
return type;
}
public void setType(String pType) {
type = pType;
}
public String getLabel() {
return label;
}
public void setLabel(String pLabel) {
label = pLabel;
}
public String getPrimaryKey() {
return primaryKey;
}
public void setPrimaryKey(String pPrimaryKey) {
primaryKey = pPrimaryKey;
}
public String getMandatory() {
return mandatory;
}
public void setMandatory(String pMandatory) {
mandatory = pMandatory;
}
public String getUploadable() {
return uploadable;
}
public void setUploadable(String pUploadable) {
uploadable = pUploadable;
}
public String getSize() {
return size;
}
public void setSize(String pSize) {
size = pSize;
}
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String pDefaultValue) {
defaultValue = pDefaultValue;
}
public String getInputType() {
return inputType;
}
public void setInputType(String pInputType) {
inputType = pInputType;
}
public String getNamespace() {
return namespace;
}
public void setNamespace(String pNamespace) {
namespace = pNamespace;
}
public String getValues_from() {
return values_from;
}
public void setValues_from(String pValues_from) {
values_from = pValues_from;
}
public String getAllowedValues() {
return allowedValues;
}
public void setAllowedValues(String pAllowedValues) {
allowedValues = pAllowedValues;
}
public String getTopic() {
return topic;
}
public void setTopic(String pTopic) {
topic = pTopic;
}
/**
* convert this Property to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for Property
*/
public Property() {
}
/**
* construct a Property from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pPropertyTriple
* - the triple to construct me from
*/
public Property(TripleQuery query, Triple pPropertyTriple) {
this(query, pPropertyTriple.getSubject().toString());
} // constructor
/**
* construct a Property from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public Property(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple documentationTriple = query.selectSingle(pageid, "documentation",
null);
if (documentationTriple == null)
documentationTriple = query.selectSingle(pageid,
"Property:Property_documentation", null);
if (documentationTriple != null)
documentation = documentationTriple.getObject().toString();
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query.selectSingle(pageid, "Property:Property_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
Triple typeTriple = query.selectSingle(pageid, "type", null);
if (typeTriple == null)
typeTriple = query.selectSingle(pageid, "Property:Property_type", null);
if (typeTriple != null)
type = typeTriple.getObject().toString();
Triple labelTriple = query.selectSingle(pageid, "label", null);
if (labelTriple == null)
labelTriple = query.selectSingle(pageid, "Property:Property_label",
null);
if (labelTriple != null)
label = labelTriple.getObject().toString();
Triple primaryKeyTriple = query.selectSingle(pageid, "primaryKey", null);
if (primaryKeyTriple == null)
primaryKeyTriple = query.selectSingle(pageid,
"Property:Property_primaryKey", null);
if (primaryKeyTriple != null)
primaryKey = primaryKeyTriple.getObject().toString();
Triple mandatoryTriple = query.selectSingle(pageid, "mandatory", null);
if (mandatoryTriple == null)
mandatoryTriple = query.selectSingle(pageid,
"Property:Property_mandatory", null);
if (mandatoryTriple != null)
mandatory = mandatoryTriple.getObject().toString();
Triple uploadableTriple = query.selectSingle(pageid, "uploadable", null);
if (uploadableTriple == null)
uploadableTriple = query.selectSingle(pageid,
"Property:Property_uploadable", null);
if (uploadableTriple != null)
uploadable = uploadableTriple.getObject().toString();
Triple sizeTriple = query.selectSingle(pageid, "size", null);
if (sizeTriple == null)
sizeTriple = query.selectSingle(pageid, "Property:Property_size", null);
if (sizeTriple != null)
size = sizeTriple.getObject().toString();
Triple defaultValueTriple = query.selectSingle(pageid, "defaultValue",
null);
if (defaultValueTriple == null)
defaultValueTriple = query.selectSingle(pageid,
"Property:Property_defaultValue", null);
if (defaultValueTriple != null)
defaultValue = defaultValueTriple.getObject().toString();
Triple inputTypeTriple = query.selectSingle(pageid, "inputType", null);
if (inputTypeTriple == null)
inputTypeTriple = query.selectSingle(pageid,
"Property:Property_inputType", null);
if (inputTypeTriple != null)
inputType = inputTypeTriple.getObject().toString();
Triple namespaceTriple = query.selectSingle(pageid, "namespace", null);
if (namespaceTriple == null)
namespaceTriple = query.selectSingle(pageid,
"Property:Property_namespace", null);
if (namespaceTriple != null)
namespace = namespaceTriple.getObject().toString();
Triple values_fromTriple = query
.selectSingle(pageid, "values_from", null);
if (values_fromTriple == null)
values_fromTriple = query.selectSingle(pageid,
"Property:Property_values_from", null);
if (values_fromTriple != null)
values_from = values_fromTriple.getObject().toString();
Triple allowedValuesTriple = query.selectSingle(pageid, "allowedValues",
null);
if (allowedValuesTriple == null)
allowedValuesTriple = query.selectSingle(pageid,
"Property:Property_allowedValues", null);
if (allowedValuesTriple != null)
allowedValues = allowedValuesTriple.getObject().toString();
Triple topicTriple = query.selectSingle(pageid, "topic", null);
if (topicTriple == null)
topicTriple = query.selectSingle(pageid, "Property:Property_topic",
null);
if (topicTriple != null)
topic = topicTriple.getObject().toString();
init(query);
} // constructor for Property
// >>>{user defined topic code}{Property}{Property}
@Override
public void init(TripleQuery query) {
if (name == null) {
name = pageid;
}
if (label == null) {
label = name;
}
if (type == null) {
type = "Text";
}
}
// <<<{user defined topic code}{Property}{Property}
} // class Property
/**
* Manager for Property
*/
static class PropertyManager extends TopicBase {
public String topicName = "Property";
public List<Property> mPropertys = new ArrayList<Property>();
public Map<String, Property> mPropertyMap = new LinkedHashMap<String, Property>();
/**
* add a new Property
*/
public Property add(Property pProperty) {
mPropertys.add(pProperty);
mPropertyMap.put(pProperty.getPageid(), pProperty);
return pProperty;
}
/**
* add a new Property from the given triple
*/
public Property add(TripleQuery query, Triple pPropertyTriple) {
Property lProperty = new Property(query, pPropertyTriple);
add(lProperty);
return lProperty;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public PropertyManager() {
}
// construct me from the given triple Query query
public PropertyManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lPropertyQuery = query.query(null, "isA", "Property");
for (Triple lPropertyTriple : lPropertyQuery.getTriples()) {
add(query, lPropertyTriple);
}
// then the SMW triplestore
lPropertyQuery = query.query(null, "Property:IsA", "Property");
for (Triple lPropertyTriple : lPropertyQuery.getTriples()) {
add(query, lPropertyTriple);
}
init(query);
} // constructor for Property Manager
// >>>{user defined topicmanager code}{Property}{Property}
// <<<{user defined topicmanager code}{Property}{Property}
} // class Property Manager
/**
* TopicLink
*
*/
static class TopicLink extends TopicBase {
String pageid;
String name;
String sourceRole;
String sourceMultiple;
String source;
String sourceDocumentation;
String targetRole;
String targetMultiple;
String target;
String masterDetail;
String targetDocumentation;
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
public String getSourceRole() {
return sourceRole;
}
public void setSourceRole(String pSourceRole) {
sourceRole = pSourceRole;
}
public String getSourceMultiple() {
return sourceMultiple;
}
public void setSourceMultiple(String pSourceMultiple) {
sourceMultiple = pSourceMultiple;
}
public String getSource() {
return source;
}
public void setSource(String pSource) {
source = pSource;
}
public String getSourceDocumentation() {
return sourceDocumentation;
}
public void setSourceDocumentation(String pSourceDocumentation) {
sourceDocumentation = pSourceDocumentation;
}
public String getTargetRole() {
return targetRole;
}
public void setTargetRole(String pTargetRole) {
targetRole = pTargetRole;
}
public String getTargetMultiple() {
return targetMultiple;
}
public void setTargetMultiple(String pTargetMultiple) {
targetMultiple = pTargetMultiple;
}
public String getTarget() {
return target;
}
public void setTarget(String pTarget) {
target = pTarget;
}
public String getMasterDetail() {
return masterDetail;
}
public void setMasterDetail(String pMasterDetail) {
masterDetail = pMasterDetail;
}
public String getTargetDocumentation() {
return targetDocumentation;
}
public void setTargetDocumentation(String pTargetDocumentation) {
targetDocumentation = pTargetDocumentation;
}
/**
* convert this TopicLink to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for TopicLink
*/
public TopicLink() {
}
/**
* construct a TopicLink from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pTopicLinkTriple
* - the triple to construct me from
*/
public TopicLink(TripleQuery query, Triple pTopicLinkTriple) {
this(query, pTopicLinkTriple.getSubject().toString());
} // constructor
/**
* construct a TopicLink from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public TopicLink(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query
.selectSingle(pageid, "Property:TopicLink_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
Triple sourceRoleTriple = query.selectSingle(pageid, "sourceRole", null);
if (sourceRoleTriple == null)
sourceRoleTriple = query.selectSingle(pageid,
"Property:TopicLink_sourceRole", null);
if (sourceRoleTriple != null)
sourceRole = sourceRoleTriple.getObject().toString();
Triple sourceMultipleTriple = query.selectSingle(pageid,
"sourceMultiple", null);
if (sourceMultipleTriple == null)
sourceMultipleTriple = query.selectSingle(pageid,
"Property:TopicLink_sourceMultiple", null);
if (sourceMultipleTriple != null)
sourceMultiple = sourceMultipleTriple.getObject().toString();
Triple sourceTriple = query.selectSingle(pageid, "source", null);
if (sourceTriple == null)
sourceTriple = query.selectSingle(pageid, "Property:TopicLink_source",
null);
if (sourceTriple != null)
source = sourceTriple.getObject().toString();
Triple sourceDocumentationTriple = query.selectSingle(pageid,
"sourceDocumentation", null);
if (sourceDocumentationTriple == null)
sourceDocumentationTriple = query.selectSingle(pageid,
"Property:TopicLink_sourceDocumentation", null);
if (sourceDocumentationTriple != null)
sourceDocumentation = sourceDocumentationTriple.getObject().toString();
Triple targetRoleTriple = query.selectSingle(pageid, "targetRole", null);
if (targetRoleTriple == null)
targetRoleTriple = query.selectSingle(pageid,
"Property:TopicLink_targetRole", null);
if (targetRoleTriple != null)
targetRole = targetRoleTriple.getObject().toString();
Triple targetMultipleTriple = query.selectSingle(pageid,
"targetMultiple", null);
if (targetMultipleTriple == null)
targetMultipleTriple = query.selectSingle(pageid,
"Property:TopicLink_targetMultiple", null);
if (targetMultipleTriple != null)
targetMultiple = targetMultipleTriple.getObject().toString();
Triple targetTriple = query.selectSingle(pageid, "target", null);
if (targetTriple == null)
targetTriple = query.selectSingle(pageid, "Property:TopicLink_target",
null);
if (targetTriple != null)
target = targetTriple.getObject().toString();
Triple masterDetailTriple = query.selectSingle(pageid, "masterDetail",
null);
if (masterDetailTriple == null)
masterDetailTriple = query.selectSingle(pageid,
"Property:TopicLink_masterDetail", null);
if (masterDetailTriple != null)
masterDetail = masterDetailTriple.getObject().toString();
Triple targetDocumentationTriple = query.selectSingle(pageid,
"targetDocumentation", null);
if (targetDocumentationTriple == null)
targetDocumentationTriple = query.selectSingle(pageid,
"Property:TopicLink_targetDocumentation", null);
if (targetDocumentationTriple != null)
targetDocumentation = targetDocumentationTriple.getObject().toString();
init(query);
} // constructor for TopicLink
// >>>{user defined topic code}{TopicLink}{TopicLink}
Topic sourceTopic = null;
Topic targetTopic = null;
// <<<{user defined topic code}{TopicLink}{TopicLink}
} // class TopicLink
/**
* Manager for TopicLink
*/
static class TopicLinkManager extends TopicBase {
public String topicName = "TopicLink";
public List<TopicLink> mTopicLinks = new ArrayList<TopicLink>();
public Map<String, TopicLink> mTopicLinkMap = new LinkedHashMap<String, TopicLink>();
/**
* add a new TopicLink
*/
public TopicLink add(TopicLink pTopicLink) {
mTopicLinks.add(pTopicLink);
mTopicLinkMap.put(pTopicLink.getPageid(), pTopicLink);
return pTopicLink;
}
/**
* add a new TopicLink from the given triple
*/
public TopicLink add(TripleQuery query, Triple pTopicLinkTriple) {
TopicLink lTopicLink = new TopicLink(query, pTopicLinkTriple);
add(lTopicLink);
return lTopicLink;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public TopicLinkManager() {
}
// construct me from the given triple Query query
public TopicLinkManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicLinkQuery = query.query(null, "isA", "TopicLink");
for (Triple lTopicLinkTriple : lTopicLinkQuery.getTriples()) {
add(query, lTopicLinkTriple);
}
// then the SMW triplestore
lTopicLinkQuery = query.query(null, "Property:IsA", "TopicLink");
for (Triple lTopicLinkTriple : lTopicLinkQuery.getTriples()) {
add(query, lTopicLinkTriple);
}
init(query);
} // constructor for TopicLink Manager
// >>>{user defined topicmanager code}{TopicLink}{TopicLink}
// <<<{user defined topicmanager code}{TopicLink}{TopicLink}
} // class TopicLink Manager
}
@{
// global variables
// will only be set if tripleStore argument is available e.g. not for dialogs
Topic maintopic=null;
TripleQuery query=null;
TripleQuery topics=null;
ContextManager mContextManager=null;
TopicManager mTopicManager=null;
String maintopicName=null;
if (tripleStore!=null) {
query=tripleStore.query();
topics=query.query(null,"isA","Topic");
mContextManager=new ContextManager(tripleStore);
mTopicManager=new TopicManager(query);
// PropertyManager mPropertyManager=new PropertyManager(query);
// TopicLinkManager mTopicLinkManager=new TopicLinkManager(query);
// SMW_TypeManager mSMW_TypeManager=new SMW_TypeManager(query);
mTopicManager.configureTopics();
maintopicName=wikiTask.getParams();
if (maintopicName!=null) {
maintopic=mTopicManager.byName(maintopicName);
}
}
}
</source>
6f2bba5c9699ea7d3c55d1dc74cafd751d1d9a9d
Office
0
32
70
2015-11-05T19:44:38Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:44:36Z
wikitext
text/x-wiki
== Introduction ==
The templates on this page are {{Link|target=Template:Wikitask|title=Wikitask}} helper templates to work with Office Documents.
The Java library being used for Microsoft Office Documents is {{Link|target=https://poi.apache.org/|title=Apache POI}}. For the Access to Adobe Portable
Document Files {{Link|target=https://pdfbox.apache.org/|title=Apache PDFBox}} is used.
=== Supported Document Formats ===
{| class='wikitable sortable'
! Logo
! Format
! Documentation
! Stackoverflow
! Tutorial example
|-
| <img src='http://img4.wikia.nocookie.net/__cb20110818174528/logopedia/images/thumb/b/bb/Microsoft_Word_2010_Icon.svg/80px-Microsoft_Word_2010_Icon.svg.png'/>
| {{Link|target=Office#Word|title=Word docx}}
| {{Link|target=http://poi.apache.org/document/quick-guide-xwpf.html|title=XWPF}}
| {{Link|target=http://stackoverflow.com/questions/tagged/xwpf|title=xwpf}}
| {{Link|target=WikiTaskTutorial/Word}}
|-
| <img src='http://img3.wikia.nocookie.net/__cb20130608224647/logopedia/images/thumb/4/43/Office_Word_2000.svg/80px-Office_Word_2000.svg.png'/>
| {{Link|target=Office#Word97|title=Word97 doc}}
| {{Link|target=http://poi.apache.org/document/quick-guide.html|title=HWPF}}
| {{Link|target=http://stackoverflow.com/questions/tagged/hwpf|title=hwpf}}
| {{Link|target=WikiTaskTutorial/Word97}}
|-
| <img src='http://img2.wikia.nocookie.net/__cb20120509174748/logopedia/images/thumb/3/38/It%27s_EXCELlent!.png/80px-It%27s_EXCELlent!.png'/>
| {{Link|target=Office#Excel|title=Excel xlsx}}
| {{Link|target=https://poi.apache.org/spreadsheet/quick-guide.html|title=HSSF+XSSF}}
| {{Link|target=http://stackoverflow.com/questions/tagged/xssf|title=xssf}}
| {{Link|target=WikiTaskTutorial/Excel}}
|-
| <img src='http://img3.wikia.nocookie.net/__cb20120507131818/logopedia/images/thumb/1/1c/Excel.gif/80px-Excel.gif'/>
| {{Link|target=Office#Excel97|title=Excel 97 xls}}
| {{Link|target=https://poi.apache.org/spreadsheet/quick-guide.html|title=HSSF+XSSF}} {{Link|target=https://poi.apache.org/spreadsheet/diagram1.html|title=HSSF UML diagram}}
| {{Link|target=http://stackoverflow.com/questions/tagged/hssf|title=hssf}}
| {{Link|target=WikiTaskTutorial/Excel97}}
|-
| <img src='http://img3.wikia.nocookie.net/__cb20120509173954/logopedia/images/thumb/0/04/PowerPoint.png/80px-PowerPoint.png'/>
| {{Link|target=Office#Powerpoint|title=Powerpoint pptx}}
| {{Link|target=http://poi.apache.org/slideshow/xslf-cookbook.html|title=XSLF}}
| {{Link|target=http://stackoverflow.com/questions/tagged/xslf|title=xslf}}
| {{Link|target=WikiTaskTutorial/Powerpoint}}
|-
| <img src='http://img3.wikia.nocookie.net/__cb20130617071432/logopedia/images/thumb/f/ff/Office_PowerPoint_2000.svg/80px-Office_PowerPoint_2000.svg.png'/>
| {{Link|target=Office#Powerpoint97|title=Powerpoint97 ppt}}
| {{Link|target=http://poi.apache.org/slideshow/how-to-shapes.html|title=HSLF}}
| {{Link|target=http://stackoverflow.com/questions/tagged/hslf|title=hslf}}
| {{Link|target=WikiTaskTutorial/Powerpoint97}}
|-
| <img src='http://www.adobe.com/images/pdficon_large.png' width='64px'/>
| Portable Document Format pdf
| {{Link|https://pdfbox.apache.org/|title=PDF}}
| {{Link|target=http://stackoverflow.com/questions/tagged/pdfbox|title=pdfbox}}
| {{Link|target=WikiTaskTutorial/Portable Document Format}}
|-
| <img src='http://www.lenashore.com/wp-content/uploads/2014/01/vc-ard.png' width='64px'/>
| VCard vcf
| {{Link|https://tools.ietf.org/html/rfc6350|title=VCard}}
| {{Link|target=http://stackoverflow.com/questions/tagged/vcard|title=vcard}}
| {{Link|target=WikiTaskTutorial/VCard}}
|}
The above table shows the supported Document Formats and has links to the Apache POI documentation, corressponding Stackoverflow questions and the
WikiTask tutorial example for each document format.
== Templates ==
=== template structure ===
The following templates have a common structure. First the arguments are declared:
==== @args: arguments ====
<source lang='java' id='args'>
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
}
</source>
The argument/parameter wikiTask holds the information how the template is called. The input can e.g. be fetched from wikiTask.getInput(). It should
contain the URL of a Microsoft Office Document
==== @import: import statements ====
<source lang='java' id='import'>
@import java.net.URL
@import org.apache.poi.xwpf.usermodel.XWPFDocument;
@import org.apache.poi.xwpf.usermodel.XWPFParagraph
</source>
The import statements are specific to the Office document format being used. See [[{{FULLPAGENAME}}#Supported_Microsoft_Office_Document_Formats]].
==== java code and class declaration ====
<source lang='java' id='class'>
@{
class WordDocx {
...
public WordDocx(String url) {
...
}
} // WordDocx
WordDocx docx=new WordDocx(wikiTask.getInput());
}
</source>
In a Java Code section <nowiki>@{...}</nowiki> a class corresponding to the Microsoft Office Document Format is declared.
The constructor takes a url as a parameter. From such a url e.g. http://somedomain/somedocument.doc the Document is fetched.
==== constructor and error handling ====
<source lang='java' id='errorhandling'>
public XWPFDocument doc;
public Throwable error;
public WordDocx(String url) {
try {
InputStream is = new URL(url).openStream();
doc = new XWPFDocument(is);
} catch (Throwable th) {
error=th;
}
}
</source>
The constructor tries to open the document as the corresponding Apache POI document type. E.g. a docx document is openend as XWPFDocument.
If this fails the Exception/Throwable caught will be available in the member variable error.
=== Word ===
{| class='wikitable sortable'
! Logo
! Format
! Apache POI documentation
! Stackoverflow
! Tutorial example
|-
| <img src='http://img4.wikia.nocookie.net/__cb20110818174528/logopedia/images/thumb/b/bb/Microsoft_Word_2010_Icon.svg/80px-Microsoft_Word_2010_Icon.svg.png'/>
| Word docx
| {{Link|target=http://poi.apache.org/document/quick-guide-xwpf.html|title=XWPF}}
| {{Link|target=http://stackoverflow.com/questions/tagged/xwpf|title=xwpf}}
| {{Link|target=WikiTaskTutorial/Word}}
|}
<source lang='java' id='word'>
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
}
@import java.net.URL
@import org.apache.poi.xwpf.usermodel.XWPFDocument;
@import org.apache.poi.xwpf.usermodel.XWPFParagraph;
@{
class WordDocx {
public XWPFDocument doc;
public Throwable error;
public WordDocx(String url) {
try {
InputStream is = new URL(url).openStream();
doc = new XWPFDocument(is);
} catch (Throwable th) {
error=th;
}
}
} // WordDocx
WordDocx docx=new WordDocx(wikiTask.getInput());
}
</source>
=== Word97 ===
{| class='wikitable sortable'
! Logo
! Format
! Apache POI documentation
! Stackoverflow
! Tutorial example
|-
| <img src='http://img3.wikia.nocookie.net/__cb20130608224647/logopedia/images/thumb/4/43/Office_Word_2000.svg/80px-Office_Word_2000.svg.png'/>
| Word97 doc
| {{Link|target=http://poi.apache.org/document/quick-guide.html|title=HWPF}}
| {{Link|target=http://stackoverflow.com/questions/tagged/hwpf|title=hwpf}}
| {{Link|target=WikiTaskTutorial/Word97}}
|}
<source lang='java' id='word97'>
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
}
@import java.net.URL
@import org.apache.poi.hwpf.HWPFDocument;
@import org.apache.poi.hwpf.extractor.WordExtractor;
@import org.apache.poi.hwpf.usermodel.Range;
@import org.apache.poi.poifs.filesystem.POIFSFileSystem;
@{
class WordDoc {
public HWPFDocument doc;
public WordExtractor we;
public Range range;
public Throwable error;
public WordDoc(String url) {
try {
InputStream is = new URL(url).openStream();
POIFSFileSystem fs = new POIFSFileSystem(is);
doc = new HWPFDocument(fs);
we = new WordExtractor(doc);
range = doc.getRange();
} catch (Throwable th) {
error=th;
}
}
} // WordDoc
WordDoc doc=new WordDoc(wikiTask.getInput());
}
</source>
=== Excel ===
{| class='wikitable sortable'
! Logo
! Format
! Apache POI documentation
! Stackoverflow
! Tutorial example
|-
| <img src='http://img2.wikia.nocookie.net/__cb20120509174748/logopedia/images/thumb/3/38/It%27s_EXCELlent!.png/80px-It%27s_EXCELlent!.png'/>
| Excel xlsx
| {{Link|target=https://poi.apache.org/spreadsheet/quick-guide.html|title=HSSF+XSSF}}
| {{Link|target=http://stackoverflow.com/questions/tagged/xssf|title=xssf}}
| {{Link|target=WikiTaskTutorial/Excel}}
|}
<source lang='java' id='excel'>
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
}
@import java.net.URL
@import org.apache.poi.ss.usermodel.Cell
@import org.apache.poi.ss.usermodel.Row
@import org.apache.poi.xssf.usermodel.XSSFSheet
@import org.apache.poi.xssf.usermodel.XSSFWorkbook
@import org.apache.poi.xssf.usermodel.XSSFCell
@import org.apache.poi.xssf.usermodel.XSSFRow
@{
class Excel {
public XSSFWorkbook workbook =null;
public Throwable error;
public List<List<String>> getSheetContent(XSSFSheet sheet) {
List<List<String>> result=new ArrayList<List<String>>();
Iterator<Row> rows = sheet.rowIterator();
while (rows.hasNext()) {
XSSFRow row = (XSSFRow) rows.next();
Iterator<Cell> cells = row.cellIterator();
List<String> rowList=new ArrayList<String>();
while (cells.hasNext()) {
XSSFCell cell = (XSSFCell) cells.next();
String cellValue = cell.toString();
if (!"".equals(cellValue))
rowList.add(cellValue);
}
if (rowList.size()>0)
result.add(rowList);
}
return result;
}
public Excel(String url) {
// http://stackoverflow.com/questions/5836965/how-to-open-xlsx-files-with-poi-ss
try {
InputStream is = new URL(url).openStream();
workbook = new XSSFWorkbook(is);
} catch (Throwable th) {
error=th;
}
}
} // Excel
Excel excel=new Excel(wikiTask.getInput());
}
</source>
=== Excel97 ===
{| class='wikitable sortable'
! Logo
! Format
! Apache POI documentation
! Stackoverflow
! Tutorial example
|-
| <img src='http://img3.wikia.nocookie.net/__cb20120507131818/logopedia/images/thumb/1/1c/Excel.gif/80px-Excel.gif'/>
| Excel97 xls
| {{Link|target=https://poi.apache.org/spreadsheet/quick-guide.html|title=HSSF+XSSF}} {{Link|target=https://poi.apache.org/spreadsheet/diagram1.html|title=HSSF UML diagram}}
| {{Link|target=http://stackoverflow.com/questions/tagged/hssf|title=hssf}}
| {{Link|target=WikiTaskTutorial/Excel97}}
|}
<source lang='java' id='excel97'>
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
}
@import java.net.URL
@import org.apache.poi.ss.usermodel.Row
@import org.apache.poi.ss.usermodel.Cell
@import org.apache.poi.hssf.usermodel.HSSFSheet;
@import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@import org.apache.poi.hssf.usermodel.HSSFCell;
@import org.apache.poi.hssf.usermodel.HSSFRow;
@{
class Excel {
public HSSFWorkbook workbook =null;
public Throwable error;
public List<List<String>> getSheetContent(HSSFSheet sheet) {
List<List<String>> result=new ArrayList<List<String>>();
Iterator<Row> rows = sheet.rowIterator();
while (rows.hasNext()) {
HSSFRow row = (HSSFRow) rows.next();
Iterator<Cell> cells = row.cellIterator();
List<String> rowList=new ArrayList<String>();
int nonempty=0;
while (cells.hasNext()) {
HSSFCell cell = (HSSFCell) cells.next();
String cellValue = cell.toString();
if (!"".equals(cellValue)) {
nonempty++;
rowList.add(cellValue);
} else {
rowList.add("");
}
}
if (nonempty>0)
result.add(rowList);
}
return result;
}
public Excel(String url) {
// http://stackoverflow.com/questions/5836965/how-to-open-xlsx-files-with-poi-ss
try {
InputStream is = new URL(url).openStream();
workbook = new HSSFWorkbook(is);
} catch (Throwable th) {
error=th;
}
}
} // Excel
Excel excel=new Excel(wikiTask.getInput());
}
</source>
=== Powerpoint ===
{| class='wikitable sortable'
! Logo
! Format
! Apache POI documentation
! Stackoverflow
! Tutorial example
|-
| <img src='http://img3.wikia.nocookie.net/__cb20120509173954/logopedia/images/thumb/0/04/PowerPoint.png/80px-PowerPoint.png'/>
| Powerpoint pptx
| {{Link|target=http://poi.apache.org/slideshow/xslf-cookbook.html|title=XSLF}}
| {{Link|target=http://stackoverflow.com/questions/tagged/xslf|title=xslf}}
| {{Link|target=WikiTaskTutorial/Powerpoint}}
|}
<source lang='java' id='powerpoint'>
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
}
@import java.net.URL
@import org.apache.poi.ss.usermodel.Cell
@import org.apache.poi.xslf.usermodel.XMLSlideShow;
@import org.apache.poi.xslf.usermodel.XSLFCommentAuthors
@import org.apache.poi.xslf.usermodel.XSLFComments
@import org.apache.poi.xslf.usermodel.XSLFCommonSlideData
@import org.apache.poi.xslf.usermodel.XSLFNotes
@import org.apache.poi.xslf.usermodel.XSLFRelation
@import org.apache.poi.xslf.usermodel.XSLFSlide
@import org.apache.poi.xslf.usermodel.XSLFSlideLayout
@import org.apache.poi.xslf.usermodel.XSLFSlideMaster
@{
class Powerpoint {
public XMLSlideShow slideshow=null;
public List<XSLFSlide> slides=null;
public Throwable error;
public Powerpoint(String url) {
try {
InputStream is = new URL(url).openStream();
slideshow = new XMLSlideShow(is);
slides = slideshow.getSlides();
} catch (Throwable th) {
error=th;
}
}
} // Powerpoint
Powerpoint powerpoint=new Powerpoint(wikiTask.getInput());
}
</source>
=== Powerpoint97 ===
{| class='wikitable sortable'
! Logo
! Format
! Apache POI documentation
! Stackoverflow
! Tutorial example
|-
| <img src='http://img3.wikia.nocookie.net/__cb20130617071432/logopedia/images/thumb/f/ff/Office_PowerPoint_2000.svg/80px-Office_PowerPoint_2000.svg.png'/>
| Powerpoint97 ppt
| {{Link|target=http://poi.apache.org/slideshow/how-to-shapes.html|title=HSLF}}
| {{Link|target=http://stackoverflow.com/questions/tagged/hslf|title=hslf}}
| {{Link|target=WikiTaskTutorial/Powerpoint97}}
|}
<source lang='java' id='powerpoint97'>
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
}
@import java.net.URL
@import org.apache.poi.hslf.usermodel.SlideShow
@import org.apache.poi.hslf.model.Slide
@{
class Powerpoint {
public SlideShow slideshow=null;
public Slide[] slides=null;
public Throwable error;
public Powerpoint(String url) {
try {
InputStream is = new URL(url).openStream();
slideshow = new SlideShow(is);
is.close();
slides = slideshow.getSlides();
} catch (Throwable th) {
error=th;
}
}
} // Powerpoint
Powerpoint powerpoint=new Powerpoint(wikiTask.getInput());
}
</source>
=== PDF ===
{| class='wikitable sortable'
! Logo
! Format
! Apache documentation
! Stackoverflow
! Tutorial example
|-
| <img src='http://www.adobe.com/images/pdficon_large.png' width='64px'/>
| Portable Document Format pdf
| {{Link|https://pdfbox.apache.org/|title=PDF}}
| {{Link|target=http://stackoverflow.com/questions/tagged/pdfbox|title=pdfbox}}
| {{Link|target=WikiTaskTutorial/Portable Document Format}}
|}
<source lang='java' id='pdf'>
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
}
@import java.net.URL
@import org.apache.pdfbox.pdmodel.PDDocument
@import org.apache.pdfbox.pdmodel.PDPage
@import org.apache.pdfbox.util.PDFTextStripper
@{
/**
* Portable Document File extractor help
*/
class PDF {
public Throwable error;
PDDocument doc;
PDFTextStripper pdfStripper;
/**
* construct this PDF from the given url
*/
public PDF(String url) {
try {
// might want to switch off logging here to improve performance
String[] loggers = { "org.apache.pdfbox.util.PDFStreamEngine",
"org.apache.pdfbox.util", "org.apache.pdfbox.util.PDFStreamEngine",
"org.apache.pdfbox.pdfparser.PDFObjectStreamParser",
"org.apache.pdfbox.cos.COSDocument",
"org.apache.pdfbox.pdmodel.font.PDSimpleFont",
"org.apache.pdfbox.pdmodel.graphics.xobject.PDPixelMap",
"org.apache.pdfbox.pdmodel.graphics.color.PDSeparation",
"org.apache.pdfbox.pdmodel.graphics.color.PDColorState",
"org.apache.pdfbox.pdmodel.graphics.color.PDICCBased",
"org.apache.pdfbox.pdfparser.PDFObjectStreamParser" };
for (String logger : loggers) {
org.apache.log4j.Logger logpdfengine = org.apache.log4j.Logger
.getLogger(logger);
logpdfengine.setLevel(org.apache.log4j.Level.OFF);
}
InputStream is = new URL(url).openStream();
doc=PDDocument.load(is);
pdfStripper = new PDFTextStripper();
} catch(Throwable th) {
error=th;
}
}
public String getPageText(int page) {
String result="?";
try {
pdfStripper.setStartPage(page);
pdfStripper.setEndPage(page);
result=pdfStripper.getText(doc);
} catch(Throwable th) {
error=th;
result="Error: "+th.getMessage();
}
return result;
}
}
// don't create this here ... but might make tutorial examples fail
// PDF pdf=new PDF(wikiTask.getInput());
}
</source>
=== VCard ===
{| class='wikitable sortable'
! Logo
! Format
! Documentation
! Stackoverflow
! Tutorial example
|-
| <img src='http://www.lenashore.com/wp-content/uploads/2014/01/vc-ard.png' width='64px'/>
| VCard vcf
| {{Link|https://tools.ietf.org/html/rfc6350|title=VCard}}
| {{Link|target=http://stackoverflow.com/questions/tagged/vcard|title=vcard}}
| {{Link|target=WikiTaskTutorial/VCard}}
|}
<source lang='java' id='vcard'>
@args() {
org.sidif.wiki.WikiTask wikiTask
}
@import java.net.URL
@import ezvcard.Ezvcard
@import ezvcard.VCard
@import ezvcard.property.Email
@import ezvcard.property.Address
@import ezvcard.property.Title
@import ezvcard.property.Telephone
@import ezvcard.property.Note
@{
/**
* holder for a VCard
*/
class VCardHolder {
String text;
Throwable error;
VCard vcard;
/**
* construct a VCard from the given url
*/
public VCardHolder(String url) {
try {
InputStream is = new URL(url).openStream();
text=org.apache.commons.io.IOUtils.toString(is, "UTF-8");
vcard = Ezvcard.parse(text).first();
} catch (Throwable th) {
error=th;
}
}
}
VCardHolder vcardHolder=new VCardHolder(wikiTask.getInput());
}
@def vcardAddressAsTableRow(Address address) {
!@(address.getTypes().toArray()[0]) address
|@address.getStreetAddress()<br>@address.getPostalCode() @address.getLocality()<br>@address.getCountry()
|-
}
@def vcardPhoneAsTableRow(Telephone phone) {
!@if (phone.getTypes().size()>0) { @phone.getTypes().toArray()[0] } phone
|<nowiki>@phone.getText()</nowiki>
|-
}
@def vcardNoteAsTableRow(Note note) {
!note
|<nowiki>@note.getValue()</nowiki>
|-
}
@def vcardTitleAsTableRow(Title title) {
! @if (title.getType()) { @title.getType() } title
|@title.getValue()
|-
}
@def vcardAsTable(VCard vcard) {
@("{|") class='wikitable sortable'
!fullname:
|@vcard.getFormattedName().getValue()
|-
@for (Title title:vcard.getTitles()) {
@vcardTitleAsTableRow(title);
}
!firstname:
|@vcard.getStructuredName().getGiven()
|-
!lastname:
|@vcard.getStructuredName().getFamily()
|-
!organization:
|@if (vcard.getOrganization()) { @vcard.getOrganization().getValues().get(0) }
|-
@for (Address address:vcard.getAddresses()) {
@vcardAddressAsTableRow(address)
}
@for (Email email : vcard.getEmails()){
!email:
|@email.getValue()
|-
}
@for (Telephone phone : vcard.getTelephoneNumbers()) {
@vcardPhoneAsTableRow(phone)
}
@for (Note note : vcard.getNotes()) {
@vcardNoteAsTableRow(note)
}
@("|}")
}
</source>
d1ee21e982a373e2b614ef72ea94e6247028b0e3
Topic
0
33
71
2015-11-05T19:44:40Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:44:39Z
wikitext
text/x-wiki
== Meta ==
=== WikiTask ===
{{ContextWikitask
|context=MetaModel
}}
=== sidif ===
<source lang='xml' id='sidif'>
#
# Context:MetaModel
#
MetaModel isA Context
"MetaModel" is name of it
#
#Context
#
Context isA Topic
"Context" is name of it
"Contexts" is pluralName of it
"A Context groups some topics like a Namespace/Package" is documentation of it
"A Context groups some topics like a Namespace/Package" is wikiDocumentation of it
"File:Registry.png" is icon of it
"/images/d/d2/Registry.png" is iconUrl of it
"property" is defaultstoremode of it
"MetaModel" is context of it
Context_name addsTo it
Context_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
1 is index of it
1 is sortPos of it
true is primaryKey of it
true is mandatory of it
80 is size of it
false is uploadable of it
"Name of the context" is documentation of it
false is isLink of it
"Context" is topic of it
#
#Property
#
Property isA Topic
"Property" is name of it
"Properties" is pluralName of it
"a Property is a Feature/Attribute of a Topic" is documentation of it
"see
* https://semantic-mediawiki.org/wiki/Help:Properties_and_types
* https://semantic-mediawiki.org/wiki/Help:Special_properties
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes" is wikiDocumentation of it
"File:Element_into_input.png" is icon of it
"/images/6/6a/Element_into_input.png" is iconUrl of it
"property" is defaultstoremode of it
"MetaModel" is context of it
Property_name addsTo it
Property_label addsTo it
Property_type addsTo it
Property_index addsTo it
Property_sortPos addsTo it
Property_primaryKey addsTo it
Property_mandatory addsTo it
Property_namespace addsTo it
Property_size addsTo it
Property_uploadable addsTo it
Property_defaultValue addsTo it
Property_inputType addsTo it
Property_allowedValues addsTo it
Property_documentation addsTo it
Property_values_from addsTo it
Property_showInGrid addsTo it
Property_isLink addsTo it
Property_nullable addsTo it
# properties of Property
# property name
Property_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
1 is index of it
1 is sortPos of it
true is primaryKey of it
true is mandatory of it
50 is size of it
false is uploadable of it
"The name of the property" is documentation of it
false is isLink of it
"Property" is topic of it
# property label
Property_label isA Property
"label" is name of it
"label" is label of it
"Text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The label to be shown when in a form" is documentation of it
false is isLink of it
"Property" is topic of it
# property type
Property_type isA Property
"type" is name of it
"type" is label of it
"Page" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"Text" is defaultValue of it
"The type of a Property" is documentation of it
false is isLink of it
"Property" is topic of it
# property index
Property_index isA Property
"index" is name of it
"index" is label of it
"Number" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"A positive number that specifies at which position of a Topic the given property should show. The first property to show has the index 1 each following property has an index that is +1 of the previous." is documentation of it
true is showInGrid of it
false is isLink of it
"Property" is topic of it
# property sortPos
Property_sortPos isA Property
"sortPos" is name of it
"sortPos" is label of it
"Number" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
3 is size of it
false is uploadable of it
"If none empty >0 this is the position in the sort clause of this
property. This is used when displaying list of the topic as the default sort order
and it is used for selecting topics .
E.g.
Sortpos 1 for attribute lastname and sortpos 2 for attribute firstname leads to sort by lastname,firstname" is documentation of it
false is isLink of it
"Property" is topic of it
# property primaryKey
Property_primaryKey isA Property
"primaryKey" is name of it
"primary key" is label of it
"Boolean" is type of it
6 is index of it
false is primaryKey of it
false is mandatory of it
4 is size of it
false is uploadable of it
"is this property a primary key of it's topic?" is documentation of it
false is isLink of it
"Property" is topic of it
# property mandatory
Property_mandatory isA Property
"mandatory" is name of it
"mandatory" is label of it
"Boolean" is type of it
7 is index of it
false is primaryKey of it
false is mandatory of it
4 is size of it
false is uploadable of it
"Specifies that this field must be filled in by the user. Note: mandatory should not be used in conjunction with hidden. Use of both in any field will cause the mandatory check on any field to fail when the form is saved.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag" is documentation of it
false is isLink of it
"Property" is topic of it
# property namespace
Property_namespace isA Property
"namespace" is name of it
"namespace" is label of it
"Text" is type of it
8 is index of it
false is primaryKey of it
false is mandatory of it
20 is size of it
false is uploadable of it
"namespace prefix" is documentation of it
false is isLink of it
"Property" is topic of it
# property size
Property_size isA Property
"size" is name of it
"size" is label of it
"Number" is type of it
9 is index of it
false is primaryKey of it
false is mandatory of it
3 is size of it
false is uploadable of it
"the display size of the field for the property" is documentation of it
false is isLink of it
"Property" is topic of it
# property uploadable
Property_uploadable isA Property
"uploadable" is name of it
"uploadable" is label of it
"Boolean" is type of it
10 is index of it
false is primaryKey of it
false is mandatory of it
4 is size of it
false is uploadable of it
"Specifies that a link should be placed next to this field, that opens a popup window to let the user upload a file; see 'Uploading files', below. See
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Uploading_files
The type of the target property needs to be Page for this to work" is documentation of it
false is isLink of it
"Property" is topic of it
# property defaultValue
Property_defaultValue isA Property
"defaultValue" is name of it
"default" is label of it
"Code" is type of it
11 is index of it
false is primaryKey of it
false is mandatory of it
80 is size of it
false is uploadable of it
"default value - Specifies a default value for this field. For date-related fields, default=now will set the value to the current date and possibly time. For text fields, default=current user will set the value to the username of the user adding this page. For the checkbox input type, default=yes will check the checkbox by default. (The 'checkboxes' input type, on the other hand, like the 'listbox' type, requires specifying the actual values, like default=Value A, Value C.) You can also include templates, parser functions, and magic words within the 'default=' value.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag (default)" is documentation of it
false is isLink of it
"Property" is topic of it
# property inputType
Property_inputType isA Property
"inputType" is name of it
"inputType" is label of it
"Text" is type of it
12 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"dropdown" is inputType of it
"text, combobox, dropdown, textarea, tree, datetime, datepicker, timepicker, datetimepicker, menuselect,two listboxes, datecheck, regexp, radiobutton, googlemaps" is allowedValues of it
"see
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>input type - Specifies the type of input this field will have in the form. If a field corresponds to an SMW property or Cargo field, the form will usually have the correct input type by default; otherwise the default is text. If the corresponding SMW property, or Cargo field, cannot be automatically determined, you can use the parameter 'property', or the parameters 'cargo table' and 'cargo field', to manually specify it (see below). The allowed set of input types is different for every semantic property type; see below for the full list of options.
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Allowed_input_types_for_data_types
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms_Inputs" is documentation of it
false is isLink of it
"Property" is topic of it
# property allowedValues
Property_allowedValues isA Property
"allowedValues" is name of it
"allowedValues" is label of it
"Text" is type of it
13 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"There are two ways to specified allowed Values:
# https://semantic-mediawiki.org/wiki/Help:Special_property_Allows_value. <br>Use [[Property:Allows_value]] to see which values are allowed for certain properties
# http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>values=possible values - Specifies a set of either possible values or autocompletion values (depending on the input type) that this field can have, overriding whatever set of values may have been set from the Semantic MediaWiki property. This set of values is separated by commas by default, but the delimiter can be modified using the delimiter= parameter.
If you specify any values method number 2 will be used here which might override any allowed Values specified with method number 1." is documentation of it
false is isLink of it
"Property" is topic of it
# property documentation
Property_documentation isA Property
"documentation" is name of it
"documentation" is label of it
"Text" is type of it
14 is index of it
false is primaryKey of it
false is mandatory of it
500 is size of it
false is uploadable of it
"textarea" is inputType of it
"The documentation for a property" is documentation of it
false is isLink of it
"Property" is topic of it
# property values_from
Property_values_from isA Property
"values_from" is name of it
"values from" is label of it
"Code" is type of it
15 is index of it
false is primaryKey of it
false is mandatory of it
200 is size of it
false is uploadable of it
"textarea" is inputType of it
"Specifies where to get the possible values to be displayed in a form from see
http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* values from property=property name - Similar to values=, but gets its values from the the set of all values that a certain SMW property points to.
* values from category=category name - Similar to values=, but gets its values from the names of all pages belonging to a specific category.
* values from concept=concept name - Similar to values=, but gets its values from the names of all pages belonging to a specific concept.
* values from namespace=namespace name - Similar to values=, but gets its values from the names of all pages belonging to a specific namespace. (To get values from the main namespace, use 'Main' for the namespace name, or just leave it blank.)
* values from url=URL identifier - Used only for autocompletion. Specifies that autocompletion should be based on the values retrieved from an outside URL; see Autocompleting on outside values for how to do this.
* values from external data=variable name - Used for autocompletion. You need to have theExternal Data extension installed to be able to use this parameter. It specifies that autocompletion should be based on the data retrieved from an outside source. A large number of data sources are supported, including web APIs, regular wiki pages, files on the local server, databases and LDAP directories. See Autocompletion using External Data." is documentation of it
false is isLink of it
"Property" is topic of it
# property showInGrid
Property_showInGrid isA Property
"showInGrid" is name of it
"showInGrid" is label of it
"Boolean" is type of it
16 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"true" is defaultValue of it
"I am true if this property is displayed in the default list of properties for my topic as
a column" is documentation of it
true is showInGrid of it
false is isLink of it
"Property" is topic of it
# property isLink
Property_isLink isA Property
"isLink" is name of it
"isLink" is label of it
"Boolean" is type of it
17 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"true if this Property is derived form a Link. It will not be exported to SiDIF separately and automatically be added by the Property Generator" is documentation of it
false is showInGrid of it
false is isLink of it
"Property" is topic of it
# property nullable
Property_nullable isA Property
"nullable" is name of it
"allow nulls?" is label of it
"Boolean" is type of it
18 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"false" is defaultValue of it
"should nullvalues be allowed and value set to NULL when empty?" is documentation of it
false is showInGrid of it
false is isLink of it
"Property" is topic of it
#
#SMW_Type
#
SMW_Type isA Topic
"SMW_Type" is name of it
"SMW_Types" is pluralName of it
"an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes" is documentation of it
"see
* https://semantic-mediawiki.org/wiki/Special:Types
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes" is wikiDocumentation of it
"File:Component.png" is icon of it
"/images/4/40/Component.png" is iconUrl of it
"subobject" is defaultstoremode of it
"MetaModel" is context of it
SMW_Type_type addsTo it
SMW_Type_documentation addsTo it
SMW_Type_helppage addsTo it
SMW_Type_typepage addsTo it
SMW_Type_javaType addsTo it
SMW_Type_type isA Property
"type" is name of it
"type" is label of it
"Text" is type of it
1 is index of it
true is primaryKey of it
true is mandatory of it
50 is size of it
false is uploadable of it
"The Semantic MediaWiki type without the prefix e.g. Text, Number, Boolean" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
SMW_Type_documentation isA Property
"documentation" is name of it
"type" is label of it
"Text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The documentation of this Semantic Media Wiki type" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
SMW_Type_helppage isA Property
"helppage" is name of it
"type" is label of it
"URL" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The url of the 'official' documentation page of this type" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
SMW_Type_typepage isA Property
"typepage" is name of it
"typepage" is label of it
"Page" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The Semantic Media Wiki Special page for this specific type e.g. Special:Types/Text, Special:Types/Boolean, Special:Types/Date, Special:Types/Number, Special:Types/Page" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
SMW_Type_javaType isA Property
"javaType" is name of it
"java Type" is label of it
"Text" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"Java mapping of this type" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
#
#Topic
#
Topic isA Topic
"Topic" is name of it
"Topics" is pluralName of it
"A Topic is a Concept/Class/Thing/Entity" is documentation of it
"A Topic is a Concept/Class/Thing/Entity" is wikiDocumentation of it
"File:Index.png" is icon of it
"/images/master/a/ae/Index.png" is iconUrl of it
"property" is defaultstoremode of it
false is cargo of it
"MetaModel" is context of it
Topic_name addsTo it
Topic_pluralName addsTo it
Topic_icon addsTo it
Topic_iconUrl addsTo it
Topic_documentation addsTo it
Topic_wikiDocumentation addsTo it
Topic_defaultstoremode addsTo it
Topic_listLimit addsTo it
Topic_cargo addsTo it
# properties of Topic
# property name
Topic_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
1 is index of it
true is primaryKey of it
true is mandatory of it
80 is size of it
false is uploadable of it
"The name of the topic" is documentation of it
false is isLink of it
"Topic" is topic of it
# property pluralName
Topic_pluralName isA Property
"pluralName" is name of it
"pluralName" is label of it
"Text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The plural of a topic name. E.g. for the topic 'City' the pluralName is 'Cities'. If no pluralName is specified an 's' is appended. E.g. for the topic 'Book' the default pluralName is 'Books'" is documentation of it
false is isLink of it
"Topic" is topic of it
# property icon
Topic_icon isA Property
"icon" is name of it
"icon" is label of it
"Page" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
"File" is namespace of it
55 is size of it
true is uploadable of it
"an Icon for the topic" is documentation of it
false is showInGrid of it
false is isLink of it
"Topic" is topic of it
# property iconUrl
Topic_iconUrl isA Property
"iconUrl" is name of it
"icon Url" is label of it
"URL" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
80 is size of it
false is uploadable of it
"text" is inputType of it
"the url of an icon" is documentation of it
false is showInGrid of it
false is isLink of it
"Topic" is topic of it
# property documentation
Topic_documentation isA Property
"documentation" is name of it
"documentation" is label of it
"Text" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The plaintext documentation of a Topic. Please do not use markup for this." is documentation of it
false is isLink of it
"Topic" is topic of it
# property wikiDocumentation
Topic_wikiDocumentation isA Property
"wikiDocumentation" is name of it
"wikiDocumentation" is label of it
"Text" is type of it
6 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"Documentation of the Topic using MediaWiki / Semantic Mediawiki markup" is documentation of it
false is isLink of it
"Topic" is topic of it
# property defaultstoremode
Topic_defaultstoremode isA Property
"defaultstoremode" is name of it
"default storemode" is label of it
"Text" is type of it
7 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"radiobutton" is inputType of it
"none,property,subobject" is allowedValues of it
"The default storemode of the topic" is documentation of it
false is isLink of it
"Topic" is topic of it
# property listLimit
Topic_listLimit isA Property
"listLimit" is name of it
"list Limit" is label of it
"Number" is type of it
8 is index of it
false is primaryKey of it
false is mandatory of it
4 is size of it
false is uploadable of it
"200" is defaultValue of it
"What is the default #ask list limit for this Topic?" is documentation of it
true is showInGrid of it
false is isLink of it
"Topic" is topic of it
# property cargo
Topic_cargo isA Property
"cargo" is name of it
"use cargo" is label of it
"Boolean" is type of it
9 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"Should the Topic be stored using the [https://www.mediawiki.org/wiki/Extension:Cargo Cargo Extension?]" is documentation of it
false is showInGrid of it
false is isLink of it
"Topic" is topic of it
#
# Action
#
Action isA Topic
"Action" is name of it
servicetype addsTo it
service addsTo it
inputtype addsTo it
input addsTo it
actionpage addsTo it
outputtype addsTo ti
output addsTo it
"MetaModel" is context of it
#
#TopicLink
#
TopicLink isA Topic
"TopicLink" is name of it
"TopicLinks" is pluralName of it
"A TopicLink links two Concepts" is documentation of it
"A TopicLink links two [[Concept:Topic]]s" is wikiDocumentation of it
"File:Link.png" is icon of it
"/images/f/fd/Link.png" is iconUrl of it
"subobject" is defaultstoremode of it
"MetaModel" is context of it
TopicLink_name addsTo it
TopicLink_source addsTo it
TopicLink_sourceRole addsTo it
TopicLink_sourceMultiple addsTo it
TopicLink_sourceDocumentation addsTo it
TopicLink_target addsTo it
TopicLink_targetRole addsTo it
TopicLink_targetMultiple addsTo it
TopicLink_targetDocumentation addsTo it
TopicLink_masterDetail addsTo it
TopicLink_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
1 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The name of the topic link" is documentation of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_source isA Property
"source" is name of it
"source" is label of it
"Page" is type of it
2 is index of it
false is primaryKey of it
true is mandatory of it
50 is size of it
false is uploadable of it
"dropdown" is inputType of it
"the source of a topic Link" is documentation of it
"concept=Topic" is values_from of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_sourceRole isA Property
"sourceRole" is name of it
"sourceRole" is label of it
"Text" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_sourceMultiple isA Property
"sourceMultiple" is name of it
"sourceMultiple" is label of it
"Boolean" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_sourceDocumentation isA Property
"sourceDocumentation" is name of it
"source Doc" is label of it
"Text" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
300 is size of it
false is uploadable of it
"textarea" is inputType of it
"Documentation for the source Role" is documentation of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_target isA Property
"target" is name of it
"target" is label of it
"Page" is type of it
6 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_targetRole isA Property
"targetRole" is name of it
"targetRole" is label of it
"Text" is type of it
7 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_targetMultiple isA Property
"targetMultiple" is name of it
"sourceMultiple" is label of it
"Boolean" is type of it
8 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_targetDocumentation isA Property
"targetDocumentation" is name of it
"target Doc" is label of it
"Text" is type of it
9 is index of it
false is primaryKey of it
false is mandatory of it
300 is size of it
false is uploadable of it
"textarea" is inputType of it
"Documentation for the target Role" is documentation of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_masterDetail isA Property
"masterDetail" is name of it
"masterDetail" is label of it
"Boolean" is type of it
10 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"should the details be displayed in the same form and template?
If no
* for a 1:1 link there will be a linking attribute used and that can be selected.
* for a 1:n link a link to the list of neighbours will be displayed
if yes
* for a 1:1 link the details
* for a 1:n link" is documentation of it
false is isLink of it
"TopicLink" is topic of it
#
# TopicLinks
#
TopicLinks_containedProperties isA TopicLink
"containedProperties" is name of it
"topic" is sourceRole of it
false is sourceMultiple of it
"Topic" is source of it
"properties" is targetRole of it
true is targetMultiple of it
"Property" is target of it
TopicLinks_containedTopics isA TopicLink
"containedTopics" is name of it
"context" is sourceRole of it
false is sourceMultiple of it
"Context" is source of it
"topics" is targetRole of it
true is targetMultiple of it
"Topic" is target of it
TopicLinks_typeOfProperty isA TopicLink
"typeOfProperty" is name of it
"usedByProperties" is sourceRole of it
true is sourceMultiple of it
"Property" is source of it
"the properties having this type" is sourceDocumentation of it
"smw_type" is targetRole of it
false is targetMultiple of it
"SMW_Type" is target of it
false is masterDetail of it
"the smw_type being used by this property" is targetDocumentation of it
# data
Annotation_URI isA SMW_Type
"Annotation URI" is type of it
"Special:Types/Annotation_URI" is typepage of it
"Holds URIs, but has some technical differences during export compared to the 'URL' type" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Annotation_URI" is helppage of it
Boolean isA SMW_Type
"Boolean" is type of it
"Special:Types/Boolean" is typepage of it
"Holds boolean (true/false) values" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Boolean" is helppage of it
Code isA SMW_Type
"Code" is type of it
"Special:Types/Code" is typepage of it
"Holds technical, pre-formatted texts (similar to type Text)" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Code" is helppage of it
Date isA SMW_Type
"Date" is type of it
"Special:Types/Date" is typepage of it
"Holds particular points in time" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Date" is helppage of it
Email isA SMW_Type
"Email" is type of it
"Special:Types/Email" is typepage of it
"Holds e-mail addresses" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Email" is helppage of it
Geographic_coordinate isA SMW_Type
"Geographic coordinate" is type of it
"Special:Types/Geographic_coordinate" is typepage of it
"Holds coordinates describing geographic locations" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Geographic_coordinate" is helppage of it
Number isA SMW_Type
"Number" is type of it
"Special:Types/Number" is typepage of it
"Holds integer and decimal numbers, with an optional exponent" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Number" is helppage of it
Page isA SMW_Type
"Page" is type of it
"Special:Types/Page" is typepage of it
"Holds names of wiki pages, and displays them as a link" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Page" is helppage of it
Quantity isA SMW_Type
"Quantity" is type of it
"Special:Types/Quantity" is typepage of it
"Holds values that describe quantities, containing both a number and a unit" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Quantity" is helppage of it
Record isA SMW_Type
"Record" is type of it
"Special:Types/Record" is typepage of it
"Allows saving compound property values that consist of a short list of values with fixed type and order" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Record" is helppage of it
Telephone_number isA SMW_Type
"Telephone number" is type of it
"Special:Types/Telephone_number" is typepage of it
"Holds international telephone numbers based on the [https://tools.ietf.org/html/rfc3966 RFC 3966 standard]" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Telephone_number" is helppage of it
Temperature isA SMW_Type
"Temperature" is type of it
"Special:Types/Temperature" is typepage of it
"Holds temperature values (similar to type Quantity)" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Temperature" is helppage of it
Text isA SMW_Type
"Text" is type of it
"Special:Types/Text" is typepage of it
"Holds text of arbitrary length" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Text" is helppage of it
URL isA SMW_Type
"URL" is type of it
"Special:Types/URL" is typepage of it
"Holds URIs, URNs and URLs" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_URL" is helppage of it
</source>
== wikiTasks ==
=== Context ===
{{TopicWikitasks
|context=MetaModel
|topic=Context
|input=sidif
}}
=== Topic ===
{{TopicWikitasks
|context=MetaModel
|topic=Topic
|input=sidif
}}
=== Property===
{{TopicWikitasks
|context=MetaModel
|topic=Property
|input=sidif
|plural=Properties
}}
=== TopicLink ===
{{TopicWikitasks
|context=MetaModel
|topic=TopicLink
|input=sidif
}}
=== SMW_Type ===
{{TopicWikitasks
|context=MetaModel
|topic=SMW_Type
|input=sidif
}}
=== TripleTableTask ===
{{wikitask|cmd=runtemplate|input=sidif|engine=Rythm|template=SiDIFTemplates#tripletable|targetpage={{FULLPAGENAMEE}}#tripletable}}
=== tripletable ===
== Background ==
<pre>
topic [of (the) conversation]
Gesprächsthema {n}
topic
Thema {n}
Inhalt {m}
Diskussionsthema {n}
Gegenstand {m} [Thema]
Thematik {f}
Tagesordnungspunkt {m}
Themengebiet {n}
Gesprächsgegenstand {m}
Fragenkomplex {m}
Überbegriff {m}
Sachthema {n}
Themenbereich {m}
Sachkreis {m}
</pre>
== Test ==
<source lang='java' id='test'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
com.bitplan.topic.TopicManager topicManager
}
@{
List<String> testList=new ArrayList<String>();
// global query variable
TripleQuery query=tripleStore.query();
String pageid="Topic";
TripleQuery sourceQuery=query.query(pageid,"source",null);
if (sourceQuery!=null) {
for (Triple sourceTriple:sourceQuery.getTriples()) {
String source=sourceTriple.getObject().toString();
testList.add(source);
Triple roleTriple=query.selectSingle(source,"isA","Role");
if (roleTriple!=null) {
testList.add(roleTriple.getSubject().toString());
}
}
}
}
@for (String test:testList) {
* @test
}
</source>
{{wikitask|cmd=runtemplate|input=sidif|engine=Rythm|template=test|targetpage={{FULLPAGENAMEE}}#testresult}}
=== testresult ===
* topicConfiguration
* topicConfiguration
* properties
* properties
== Links ==
=== Freebase ===
https://developers.google.com/freebase/v1/topic-overview
=== Knowledge Graph ===
* http://www.google.com/insidesearch/features/search/knowledge.html
* https://en.wikipedia.org/wiki/Knowledge_Graph
* http://googleblog.blogspot.co.uk/2012/05/introducing-knowledge-graph-things-not.html
=== WikiData ===
https://www.wikidata.org/wiki/Wikidata:Main_Page
=== Asset Description Metadata Schema ===
* https://en.wikipedia.org/wiki/Asset_Description_Metadata_Schema
=== Property / Attribute ===
* http://english.stackexchange.com/questions/150529/what-is-the-difference-between-property-and-attribute
=== Semantic Web bei Jeckle ===
* {{Link|target=http://www.jeckle.de/files/tblSW.pdf|title=Originalartikel von Tim Berners Lee}}
* http://www.jeckle.de/semanticWebServices/index.html
=== More Tim Berners Lee ===
* http://www.w3.org/DesignIssues/Topology.html
See "Should links contain ancillary information?" ...
=> this means links are second class citizens ...
see http://en.wikipedia.org/wiki/First-class_citizen
=== The network is the computer ===
* http://en.wikipedia.org/wiki/John_Gage
=== Semantics ===
http://en.wikipedia.org/wiki/Denotational_semantics
[[Category:Topic]]
095c11183a05cb28b46c6309fadac0de492b9285
MetaModel
0
34
72
2015-11-05T19:44:42Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:44:41Z
wikitext
text/x-wiki
__NOCACHE__
{{Context
|name=MetaModel
|storemode=property
}}
{{Context
|name=Metamodel
|storemode=none
|viewmode=masterdetail
}}
=== WikiTask ===
{{ContextWikitask
|context=MetaModel
}}
== Model ==
{{Link|target=Topic}}
feb851ecb5e0004bfa600e802a27b84ca6ca9f63
Concept:Context
108
35
73
2015-11-05T19:44:47Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:44:45Z
wikitext
text/x-wiki
{{Topic
|name=Context
|pluralName=Contexts
|icon=File:Registry.png
|iconUrl=/images/d/d2/Registry.png
|documentation=A Context groups some topics like a Namespace/Package
|wikiDocumentation=A Context groups some topics like a Namespace/Package
|defaultstoremode=property
|context=MetaModel
|storemode=property
}}
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Topic/{{FULLPAGENAME}}|title=edit Context}}<br>
{{Topic
|viewmode=masterdetail
|storemode=none
}}
=== Documentation ===
A Context groups some topics like a Namespace/Package
=== uml ===
<uml>
class Context {
Text name
}
Context "context (1)" -- "topics(*)" Topic
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[Context name::+]]
|Contexts
see also
* [[List of Contexts]]
* [[Help:Context]]
* [[Concept:Context]]
* [[:Category:Context]]
* [[:Template:Context]]
* [[:Form:Context]]
}}
aebe58e2a66b2101670f5011425decbac9906653
Concept:Topic
108
36
74
2015-11-05T19:44:50Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:44:47Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=Topic
|pluralName=Topics
|icon=File:Index.png
|iconUrl=/images/master/a/ae/Index.png
|documentation=A Topic is a Concept/Class/Thing/Entity
|wikiDocumentation=A Topic is a Concept/Class/Thing/Entity
|defaultstoremode=property
|cargo=false
|context=MetaModel
|storemode=property
}}
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Topic/{{FULLPAGENAME}}|title=edit Topic}}<br>
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
A Topic is a Concept/Class/Thing/Entity
=== uml ===
<uml>
title Topic
note as TopicDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as TopicNote
A Topic is a Concept/Class/Thing/Entity
end note
class Topic {
Text name
Text pluralName
Page icon
URL iconUrl
Text documentation
Text wikiDocumentation
Text defaultstoremode
Number listLimit
Boolean cargo
Page context
}
TopicNote .. Topic
Topic "topic (1)" -- "properties(*)" Property
Context "context (1)" -- "topics(*)" Topic
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[Topic name::+]]
|Topics
see also
* [[List of Topics]]
* [[Help:Topic]]
* [[Concept:Topic]]
* [[:Category:Topic]]
* [[:Template:Topic]]
* [[:Form:Topic]]
topic links:
* [[:Category:Property]]
}}
[[Category:Topic]]
d9e9dcc6cf6f86267a20ca17b557f3d841e05141
Concept:TopicLink
108
37
75
2015-11-05T19:44:52Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:44:50Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=TopicLink
|pluralName=TopicLinks
|icon=File:Link.png
|iconUrl=/images/f/fd/Link.png
|wikiDocumentation=A TopicLink links two [[Concept:Topic]]s
|documentation=A TopicLink links two Concepts
|defaultstoremode=subobject
|context=MetaModel
|storemode=property
}}
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Topic/{{FULLPAGENAME}}|title=edit TopicLink}}<br>
{{Topic
|viewmode=masterdetail
|storemode=none
}}
=== Documentation ===
=== uml ===
<uml>
class TopicLink {
Text name
Text sourceRole
Text sourceMultiple
Page source
Text sourceDocumentation
Text targetRole
Text targetMultiple
Text target
Boolean masterDetail
Text targetDocumentation
}
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[TopicLink source::+]]
|TopicLinks
see also
* [[List of TopicLinks]]
* [[Help:TopicLink]]
* [[Concept:TopicLink]]
* [[:Category:TopicLink]]
* [[:Template:TopicLink]]
* [[:Form:TopicLink]]
}}
[[Category:TopicLink]]
9e96c7ad394d1cfbfd5b09e4d2185745bc9752d6
Concept:Property
108
38
76
2015-11-05T19:44:55Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:44:53Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=Property
|pluralName=Properties
|icon=File:Element_into_input.png
|iconUrl=/images/6/6a/Element_into_input.png
|documentation=a Property is a Feature/Attribute of a Topic
|wikiDocumentation=see
* https://semantic-mediawiki.org/wiki/Help:Properties_and_types
* https://semantic-mediawiki.org/wiki/Help:Special_properties
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
|defaultstoremode=property
|cargo=
|context=MetaModel
|storemode=property
}}
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Topic/{{FULLPAGENAME}}|title=edit Property}}<br>
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
see
* https://semantic-mediawiki.org/wiki/Help:Properties_and_types
* https://semantic-mediawiki.org/wiki/Help:Special_properties
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
=== uml ===
<uml>
title Property
note as PropertyDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as PropertyNote
a Property is a Feature/Attribute of a Topic
end note
class Property {
Text name
Text label
Page type
Number index
Number sortPos
Boolean primaryKey
Boolean mandatory
Text namespace
Number size
Boolean uploadable
Code defaultValue
Text inputType
Text allowedValues
Text documentation
Code values_from
Boolean showInGrid
Boolean isLink
Boolean nullable
Page topic
}
PropertyNote .. Property
Property "usedByProperties (*)" -- "smw_type(1)" SMW_Type
Topic "topic (1)" -- "properties(*)" Property
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[Property name::+]]
|Properties
see also
* [[List of Properties]]
* [[Help:Property]]
* [[Concept:Property]]
* [[:Category:Property]]
* [[:Template:Property]]
* [[:Form:Property]]
topic links:
* [[:Category:SMW_Type]]
}}
[[Category:Property]]
87c256537f0606d0ea70861740806677e4d98073
Concept:SMW Type
108
39
77
2015-11-05T19:44:58Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:44:55Z
wikitext
text/x-wiki
{{Topic
|name=SMW_Type
|pluralName=SMW_Types
|icon=File:Component.png
|iconUrl=/images/4/40/Component.png
|documentation=an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
|wikiDocumentation=see
* https://semantic-mediawiki.org/wiki/Special:Types
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
|defaultstoremode=subobject
|context=MetaModel
|storemode=property
}}
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Topic/{{FULLPAGENAME}}|title=edit SMW_Type}}<br>
{{Topic
|viewmode=masterdetail
|storemode=none
}}
=== Documentation ===
see
* https://semantic-mediawiki.org/wiki/Special:Types
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
=== uml ===
<uml>
class SMW_Type {
Text documentation
Text type
Text typepage
Text helppage
Text javaType
}
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[SMW_Type type::+]]
|SMW_Types
see also
* [[List of SMW_Types]]
* [[Help:SMW_Type]]
* [[Concept:SMW_Type]]
* [[:Category:SMW_Type]]
* [[:Template:SMW_Type]]
* [[:Form:SMW_Type]]
}}
[[Category:SMW_Type]]
3c836d94ccd15b59a7b55dad8062a84b54ab656f
TopicGenerator
0
40
78
2015-11-05T19:44:59Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:44:58Z
wikitext
text/x-wiki
__TOC__
=== dialog ===
<source lang='java' id='dialog' cache='false'>
@// Copyright (c) 2015 BITPlan GmbH
@//
@// This is a Wikitask / Rythm template that
@// displays an AJAX GUI for generating SmartMediaWiki results
@//
@import org.sidif.wiki.Reference
@import org.sidif.wiki.ReferenceManager
@import org.sidif.wiki.Source
@import org.sidif.wiki.PageCache
@import org.sidif.wiki.WikiTask
@import com.bitplan.mediawiki.japi.api.Page
@import com.bitplan.mediawiki.japi.api.Rev
@include(wiki.SiDIFTemplates.defs)
@include(wiki.SiDIFTemplates.dialogdefs)
@// get a link for the given pagetitle
@def String getLink(String pageTitle, int revid) {
String link=wikiTask.getServer()+wikiTask.getScriptpath()+"/index.php?title="+urlEncode(pageTitle);
if (revid>0) {
link+="&oldid="+revid;
}
return link;
}
@// get the parameters for the wikitask
@def String getWikiTaskParams(String engine) {
String params="?server="+urlEncode(wikiTask.getServer());
params+="&scriptpath="+urlEncode(wikiTask.getScriptpath());
params+="&page="+urlEncode(wikiTask.getPageTitle());
params+="&engine="+engine;
return params;
}
@// run the given wikitask command
@def doWikiTaskCmd(String cmd, String param) {
@{
String icon="component";
String engine="Freemarker";
if ("runtemplate".equals(cmd)){ icon="media_play_green.png"; }
if ("reset".equals(cmd)) { icon="refresh"; }
if ("help".equals(cmd)) { icon="help"; }
if ("debug".equals(cmd)) { icon="wrench"; }
if ("refreshRef".equals(cmd)) { icon="refresh"; }
String params=getWikiTaskParams(engine);
}
<a href='@(cmd)@(params)'>@(stockicon(icon,48,cmd,cmd))</a>
}
@// run the given wikitask command
@def wikiTaskCmd(String cmd) {
@doWikiTaskCmd(cmd,null)
}
@// run the given wikitask command with a parameter
@def wikiTaskCmd(String cmd, String param) {
@doWikiTaskCmd(cmd,param)
}
@// add styles for the generator
@def generatorStyle(String i_____) {
@(i_____) <style type="text/css">
@(i_____) // progress text that comes with progress bars
@(i_____) // see http://stackoverflow.com/questions/12452594/how-can-i-add-label-inside-a-progress-bar-tag
@(i_____) span.progresstext {
@(i_____) font-family:'Arial';
@(i_____) position:relative;
@(i_____) top:-1.5em;
@(i_____) margin-left:50%;;
@(i_____) font-size:small;
@(i_____) }
@(i_____) </style>
}
@// scripts for generators
@def generatorScript() {
<script>
// JavaScript support for Y-Principle TopicGenerator
// convert a string to make the first char lower case
function firstToLower(string) {
return string.charAt(0).toLowerCase() + string.slice(1);
}
// get the div where responses are shown
function getResponseDiv() {
var result=document.getElementById("response");
return result;
}
// get the div where errors are shown
function getErrorDiv() {
var result=document.getElementById("errorMessage");
return result;
}
// get the checkBox jquery object with the given id
function getGeneratorElement(generatorId,postfix) {
var result=$("#"+generatorId+postfix);
return result;
}
// clear the given div
function clearDiv(div) {
div.innerHTML='';
}
// add a TextElement with the given tag and message to the given parent
function newTextElement(tag,msg) {
var newElement=document.createElement(tag);
var content = document.createTextNode(msg);
newElement.appendChild(content);
return newElement;
}
// add a message to the given div
function addMessage(div, msg) {
var newElement=newTextElement('pre',msg);
div.appendChild(newElement);
return newElement;
}
// progress on transfers from the server to the client (downloads)
// see https://developer.mozilla.org/de/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
function updateProgress (oEvent) {
if (oEvent.lengthComputable) {
var percentComplete = oEvent.loaded / oEvent.total;
// ...
} else {
// Unable to compute progress information since the total size is unknown
}
}
// show an error Message
// param errMsg: the message to show
function errorMessage(errMsg) {
var errDiv=getErrorDiv();
if (errDiv!=null) {
addMessage(errDiv,errMsg);
errDiv.style.display = 'block';
} else {
alert(errMsg);
}
}
// flag an error for the given id
function flagError(id,msg) {
setProgress(id,0,"");
var checkBox=getGeneratorElement(id,"");
var progresstext=getGeneratorElement(id,"_progress_pc");
var errorSpan=newTextElement('span','⚠ '+msg);
errorSpan.style='color:red;font-size:14px';
progresstext[0].appendChild(errorSpan);
return checkBox;
}
// handle an error that has been thrown
function handleError(err,id) {
flagError(id,err.message);
// abusing checkBox as data lookup
var checkBox=getGeneratorElement(id,"");
var errMessage=checkBox[0].name+" ERROR:"+err.code+" "+err.name+" '"+err.message+"' line:"+err.lineNumber;
errorMessage(errMessage);
}
// get the class name of the given object
function getClass(obj) {
if (typeof obj === "undefined")
return "undefined";
if (obj === null)
return "null";
return Object.prototype.toString.call(obj)
.match(/^\[object\s(.*)\]$/)[1];
}
// send the given form
function sendForm(formData,action,id) {
try {
var oReq = new XMLHttpRequest();
oReq.addEventListener('progress', updateProgress, false);
oReq.addEventListener('load', transferComplete, false);
oReq.addEventListener('error', transferFailed, false);
oReq.addEventListener('abort', transferCanceled, false);
oReq.onload = ajaxSuccess;
// http://stackoverflow.com/questions/921198/get-request-url-from-xhr-object
var xhrProto = XMLHttpRequest.prototype,
origOpen = xhrProto.open;
xhrProto.open = function (method, url, async) {
this._url = url;
this._id = id;
return origOpen.apply(this,arguments);
};
var async=true;
oReq.open('POST', action, async,id);
// important - this makes the request a non-simple request with CORS
// oReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// user defined header forces CORS?
oReq.setRequestHeader('Header-Custom-WikitaskCORS', 'OK');
oReq.setRequestHeader('Accept','application/json');
oReq.send(formData);
} catch(err) {
handleError(err,id);
}
return false; // Prevent direct form page button submit action
}
// set the progress for the given check box id
// and return the progress bar
function setProgress(checkBoxId,progress,percent) {
var checkBox=getGeneratorElement(checkBoxId,"");
var progressbar=getGeneratorElement(checkBoxId,"_progress");
var progresstext=getGeneratorElement(checkBoxId,"_progress_pc");
// console.log(progressbar);
// FIXME - do a true progress
// progressbar.val(progress);
if (progress==0) {
progressbar[0].style.display = 'none';
} else {
progressbar[0].style.display = 'block';
}
progresstext[0].textContent=percent;
return progressbar;
}
// start the generator for the given form, contextSetting, contextname, template and targetpage
function startGenerator(form,contextSettingTxt,contextname,topic,template,targetpage,id) {
var formData = new FormData(form);
formData.append('server', "@(wikiTask.getServer())");
formData.append('scriptpath', "/@(wikiTask.getScriptpath())");
formData.append('engine', 'Rythm');
formData.append('input', 'sidif');
formData.append('page','Topic');
var action=form.action;
// action=
// action="http://phobos.bitplan.com:9089/wikiserver/task/runtemplate";
formData.append('template',template);
formData.append('targetpage',targetpage);
formData.append('id',id);
// set the params from the contextSettings
// e.g. wikiId:capri,sidifInput:Topic#sidif,contextName:MetaModel,maintopicName:Topic
var contextSetting=JSON.parse(contextSettingTxt);
contextSetting.maintopicName=topic;
var contextSettingJson=JSON.stringify(contextSetting)
formData.append('params',contextSettingJson);
sendForm(formData,action,id);
}
// start the generators for the given form
function startGenerators(form) {
clearDiv(getErrorDiv());
clearDiv(getResponseDiv());
var generatorchecks= $(".checkBoxClass:checked");
generatorchecks.each(function(){
setProgress(this.id,1,"");
// targetPage is the name of the checkbox
var template=this.value;
var ytname=$(this).attr("yt")
var target=$(this).attr("target");
var contextname=$(this).attr("context");
var contextSetting=$(this).attr("contextsetting");
var id=this.id;
// split e.g. Template_Context;
var split = id.split('__');
// FIXME use yt and topic and generator objects instead
var topic=split[1];
startGenerator(form,contextSetting,contextname,topic,template,target,id);
});
return false;
}
// get SiDIF
function getSiDIF(lbutton) {
// {{wikitask
// |cmd=runtemplate
// |engine=Rythm
// |input=sidif
// |dialog=TopicGenerator#dialog
// |template=TopicGenerator#template
// |params=tripleStoreMode:SMW,contextName:{{{context|}}}
// |targetpage=TopicGenerator2015/{{{context|}}}}}
var contextSetting=JSON.parse(lbutton.value);
var params='@(getWikiTaskParams("Rythm"))';
var wikiTaskLink="runtemplate"+params;
wikiTaskLink+="&input="+encodeURIComponent(contextSetting.sidifInput);
wikiTaskLink+="&dialog="+encodeURIComponent("TopicGenerator#dialog");
wikiTaskLink+="&template="+encodeURIComponent("TopicGenerator#template");
wikiTaskLink+="&targetpage="+encodeURIComponent("TopicGenerator2015/"+contextSetting.contextName);
wikiTaskLink+="¶ms=tripleStoreMode:"+contextSetting.tripleStoreMode;
wikiTaskLink+=",contextName:"+encodeURIComponent(contextSetting.contextName);
wikiTaskLink+=",sidifInput:"+encodeURIComponent(contextSetting.sidifInput);
// console.log(wikiTaskLink);
window.location.replace(wikiTaskLink);
}
// show the given event with the given message
function showEvent(evt, msg) {
var doshow=true;
if (evt.target instanceof XMLHttpRequest) {
var xhr=evt.target;
msg+=" target="+xhr._url;
msg+=" responseType="+xhr.responseType;
msg+=" status="+xhr.status;
if (xhr.status==200) {
doshow=false;
}
}
if (doshow) {
errorMessage(evt.type+" "+getClass(evt.target)+": "+msg);
}
return evt.target;
}
// event when the transfer was successfully completed
function ajaxSuccess () {
var json=this.responseText;
// console.log(json);
try {
var jsonResult=JSON.parse(json);
// console.log(jsonResult);
var errorMsg=jsonResult.errorMsg;
if (errorMsg!=null) {
setProgress(jsonResult.id,100,"");
addMessage(getResponseDiv(),errorMsg);
} else {
setProgress(jsonResult.id,0,"");
var checkBox=getGeneratorElement(jsonResult.id,"");
var progresstext=getGeneratorElement(jsonResult.id,"_progress_pc");
var target=$("#"+jsonResult.id).attr("target");
var targetRef=newTextElement('a',target);
targetRef.href=jsonResult.targetUrl;
targetRef.style='font-size:12px';
var doneSpan=newTextElement('span','✓');
doneSpan.style='color:green;font-size:14px';
progresstext[0].appendChild(targetRef);
progresstext[0].appendChild(doneSpan);
var deltaRef=newTextElement('a','Δ');
deltaRef.style='font-size:12px';
var revid=$("#"+jsonResult.id+"_rev").attr("revid");
deltaRef.href=jsonResult.targetUrl+"?diff=cur&oldid="+revid;
progresstext[0].appendChild(deltaRef);
}
} catch (ex) {
alert(ex.message+"\njson="+json);
}
}
// event when transfer is complete
function transferComplete(evt) {
showEvent(evt,"transfer complete");
}
// event when the transfer failed
function transferFailed(evt) {
var xhr=showEvent(evt,"transfer failed");
if (xhr instanceof XMLHttpRequest) {
flagError(xhr._id,"transfer failed");
}
}
// event when the transer was cancelled
function transferCanceled(evt) {
showEvent(evt,"transfer canceled");
}
</script>
}
@// run the selected generators
@def runGenerators() {
@{
String icon="media_play_green";
String cmd="run";
}
<button type='submit' name='@cmd' value='@cmd' title='@cmd' onclick="return startGenerators(this.form);">
@(stockicon(icon,32,cmd,cmd))
</button>
}
@// display the given Reference as a row
@def referenceRow(Reference ref) {
<tr>
<td>@(wikiTaskCmd("refreshRef",ref.getReferenceId()))</td>
<td><a href='@(ref.getUrl())'>@(ref.getReferenceId())</a></td>
<td>@(ref.getReferenceType().toString())</td>
<td>@(ref.getAge())</td>
<td>@(ref.isAvailable())</td>
<td>@if(ref.getContent()) { @(ref.getContent().length()) } else { - }</td>
</tr>
}
@// display the given Source as a row
@def sourceRow(Source source) {
<tr><td></td><td>@(source.getId())</td><td>@(source.getPageTitle())</td><td>@(source.getAge())</td><td>@(source.isCache())</td><td>@(source.getSource().length())</td></tr>
}
@// display the table of PageCache entries
@def pageCacheTable(PageCache pageCache,String indent) {
@(indent)<table class="table tablesorter sortable">
@(indent)<thead>
@(indent) <tr><th>page</th><th>rev</th><th>timestamp</th></tr>
@(indent)</thead>
@(indent)<tbody>
@{
List<String> pageTitles = new ArrayList<String>(pageCache.getCachedPages().keySet());
}
@for (String pageTitle:pageTitles) {
@{
Page page=pageCache.getCachedPages().get(pageTitle);
Rev rev = PageCache.getPageRevision(page);
int revid=-1;
String timeStamp="?";
if (rev!=null) {
revid=rev.getRevid();
timeStamp=rev.getTimestamp();
}
}
@(indent) <tr><td>@showLink(pageTitle, 0, "Cache0_"+revid, "")</td><td>@showLink(pageTitle, revid, "Cache_"+revid, "")</td><td>@(timeStamp)</td></tr>
}
@(indent)</tbody>
@(indent)</table>
}
@// display the table of references and sources
@def referenceTable(ReferenceManager rm) {
<table class="table tablesorter sortable">
<thead>
<tr><th></th><th>id</th><th>type</th><th>age</th><th>cache</th><th>size</th></tr>
</thead>
<tbody>
@for (Reference reference:rm.referenceByReferenceId.values()) {
@referenceRow(reference)
@if (rm.getSourceById().get(reference.getReferenceId())!=null) {
<tr><th colspan='3'>Sources by Id</th>
@for (Source source:wikiTask.referenceManager.getSourceById().get(reference.getReferenceId()).values()) {
@sourceRow(source)
}
}
@if (rm.getSourceBySection().get(reference.getAnchor())!=null) {
<tr><th colspan='3'>Sources by Section</th>
@for (Source source:wikiTask.referenceManager.getSourceBySection().get(reference.getAnchor()).values()) {
@sourceRow(source)
}
}
}
</tbody>
</table>
}
@// show a link for the given pageTitle and revision id
@def showLink(String pageTitle,int revid, String id, String indent) {
@{
// default is unknown revision red link / create page approach
String revname="click to create";
String style="style='color:red'";
if (revid>=0) {
style="style='font-size: 12px'"; // normal link but small font
revname="Rev "+revid;
}
String link=getLink(pageTitle,revid);
}
@(indent)<a href='@(link)' id='@(id)' revid='@(revid)' title='@(revname)' @(style)>@(pageTitle)</a>
}
@// show the page status link
@def pageStatusLink(Topic topic,YT yt,Map<String, Page> statusMap) {
@{
String pageTitle=yt.getPageTitle(topic);
Page page=statusMap.get(pageTitle);
int revid = -1;
if (page != null) {
Rev rev = PageCache.getPageRevision(page);
if (rev!=null) {
revid = rev.getRevid();
}
}
}
@showLink(pageTitle, revid, yt.name+"__"+topic.name+"_rev", " ")
}
@// show a single row of generators for a given domain topic
@def topicRow(ContextSetting contextSetting,Context context,Topic topic,Map<String, Page> statusMap,YT[] yts, int rownum) {
<tr>
<th>@(topic.name)<div style="margin: 0 auto; width: 48px"><img src='@(wikiTask.getServer())@(wikiTask.getScriptpath())@(topic.iconUrl)' alt='@(topic.name)'></div></th><th><label><input class='checkboxSelect' type='checkbox' id="select_row_@(rownum)" title='select row'/>→</label></th>
@{ int colnum=0;}
@for(YT yt:yts) {
<td>
<label for='@(yt.name)_@(topic.name)'>
<input type="checkbox" class="checkBoxClass row_@(rownum) col_@(colnum)" contextsetting='@contextSetting.toJson()' context='@(context.name)' target='@yt.getPageTitle(topic)' yt='@(yt.name)' topic='@(topic.name)' id='@(yt.name)__@(topic.name)' name='@(yt.name):@(topic.name)' title='generate @(yt.getPageTitle(topic))' value="SiDIFTemplates#@(yt.template)">
</label>
</td>
<td>
@pageStatusLink(topic,yt,statusMap)
<progress id='@(yt.name)__@(topic.name)_progress' max='10' title='@(yt.name):@(topic.name)' style='display:none'></progress>
<span id='@(yt.name)__@(topic.name)_progress_pc' class='progresstext'></span>
</td>
@{ colnum++;}
}
</tr>
}
@// display the generators
@// sortable disabled - doesn't seem to work with selectAll logic
@def showGeneratorTasks(WikiTask wikiTask,ContextSetting contextSetting) {
@{
Context context=ContextFactory.getInstance().getContext(contextSetting);
List<String> pageTitles = new ArrayList<String>();
if (context!=null) {
for (YT yt : YT.yts) {
for (Topic topic : context.getTopics()) {
pageTitles.add(yt.getPageTitle(topic));
}
}
}
Map<String, Page> statusMap = wikiTask.referenceManager.getPageCache()
.updatePageStatus(pageTitles, true);
}
<h3>@(contextSetting.getTripleStoreMode())</h3>
@if (context) {
<form action='#'>
<table class="table tablesorter tablesorter-blue">
<thead>
<tr>
<th width='12%'>@(runGenerators())</th>
<th>Targets
</th>
@for(YT yt:YT.yts) {
<th colspan='2' style="text-align:center">@(yt.label)</th>
}
</tr>
@{ int colnum=0;}
<tr>
<th class='{sorter: false}'>Topics<br>
<div id='reloadbuttoncontainer' style='width:80px;display:inline-block' >
<button onclick='getSiDIF(this);return false;' value='@ContextSetting.fromWikiTaskAsSiDIF(wikiTask).toJson()' title='reload from SiDIF' style='display:inline-block'>
<img src='/stockicons/16x16/shadow/arrow_down_blue.png'/>
</button>
<button onclick='getSiDIF(this);return false;' value='@contextSetting.asSMWContextSetting().toJson()' title='reload from SMW Triples' style='display:inline-block' >
<img src='/stockicons/16x16/shadow/arrow_down_green.png'/>
</button>
</div>
</th>
<th class='{sorter: false}'><label><input type="checkbox" id="selectall" name="selectall" title='select all'/>↘</label></th>
@for(YT yt:YT.yts) {
<th class='{sorter: false}' width='14px'><label><input class='checkboxSelect' type='checkbox' id='select_col_@(colnum)' title='select all @(yt.label)'/>↓</label></th><th width='10%'><div style="margin: 0 auto; width: 48px"><img src='@(wikiTask.getServer())@(wikiTask.getScriptpath())@(yt.iconUrl)' alt='@(yt.label)'></div></th>
@{ colnum++;}
}
</tr>
</thead>
<tbody id='generatortasktable'>
@{ int rownum=0;}
@for (Topic topic:context.getTopics()) {
@topicRow(contextSetting,context,topic,statusMap,YT.yts,rownum++)
}
</tbody>
</table>
</form>
}
}
@// show the HTML Page for the given context
@def showHtml(ContextSetting contextSetting) {
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<title>@(title)</title>
@jquery(" ")
@style(" ")
@selectall()
@generatorStyle(" ")
@generatorScript()
</head>
<body>
<div id='container' class='container'>
<div id="dialog" title="@(title)" >
@(wikiTaskCmd("reset"))@(wikiTaskCmd("help"))@(wikiTaskCmd("debug"))
<a href='@(wikiTask.getTargetLink().getUrl())'>@(wikiTask.getTargetpage())</a>
called from <a href='@(wikiTask.getServer())@(wikiTask.getScriptpath())/index.php/@(wikiTask.getPageTitle())'>@(wikiTask.getPageTitle())</a> (@(wikiTask.getDuration()) msecs)
<div id="tabs">
<ul>
<li><a href="#generators">Generators</a></li>
<li><a href="#pagecache">Page-Cache</a></li>
<li><a href="#references">References</a></li>
</ul>
<div id="generators">
@(showGeneratorTasks(wikiTask,contextSetting))
</div>
<div id="pagecache">
@pageCacheTable(wikiTask.referenceManager.getPageCache()," ")
</div>
<div id="references">
@referenceTable(wikiTask.referenceManager)
</div>
</div>
<div id='errorMessage' style='color:red;font-size: 14px;border:1px solid red;display:none'></div>
<div id='response' style='font-size: 14px;border:1px solid blue'></div>
</div>
</div>
@dialog(" ")
</body>
</html>
}
@showHtml(contextSetting)
</source>
=== template ===
<source lang='java' id='template'>
@include(wiki.SiDIFTemplates.defs)
@// handle error
@def handleError(Throwable error) {
error @(error.getClass().getName()): @(error.getMessage())
=== stacktrace ===
<pre>
@getStackTrace(error)
</pre>
}
@{
Context context=ContextFactory.getInstance().getContext(contextSetting);
Context smwContext=ContextFactory.getInstance().getContext(contextSetting.asSMWContextSetting());
String contextName=contextSetting.getContextName();
}
@if (context==null) {
Context (sidif): @(contextName) not found in SiDIF
} else {== SiDIF ==
=== @(contextName) SiDIF ===
<pre>
@(context.asSiDIF())
</pre>
=== @(contextName) JSON ===
<pre>
@(context.toJson())
</pre>
}
@if (smwContext==null) {
Context (smw): @(contextName) not found in SMW triples of Wiki
} else {
== SMW ==
=== @(contextName) SiDIF ===
<pre>
@(context.asSiDIF())
</pre>
=== @(contextName) JSON ===
<pre>
@(context.toJson())
</pre>
}
</source>
26e214c99aa84e77b159571c2b966062c79fbb05
Presentation
0
41
79
2015-11-05T19:45:01Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:00Z
wikitext
text/x-wiki
{{Context
|name=Presentation
|storemode=property
}}
{{Context
|name=Presentation
|viewmode=masterdetail
}}
=== wikitask ===
{{ContextWikitask
|context=Presentation
}}
=== sidif ===
<source lang='java' id='sidif' cache='false'>
#
# Context:Presentation
#
Presentation isA Context
"Presentation" is name of it
#
#Presentation
#
Presentation isA Topic
"Presentation" is name of it
"Presentations" is pluralName of it
"Slide Presentation" is documentation of it
"MediaWiki has different means of presenting slides.
See e.g.Discussion on Presentation Concept
Presentation Howto
see also Category:Slide
" is wikiDocumentation of it
"File:Presentation chart.png" is icon of it
"property" is defaultstoremode of it
"Presentation" is context of it
Presentation_title addsTo it
Presentation_author addsTo it
Presentation_start addsTo it
Presentation_title isA Property
"title" is name of it
"The title of a presentation" is documentation of it
"title" is label of it
true is mandatory of it
true is primaryKey of it
"Property:Presentation_title" is pageid of it
"Presentation" is topic of it
Presentation_author isA Property
"author" is name of it
"author" is label of it
"author" is pageid of it
"Presentation" is topic of it
Presentation_start isA Property
"start" is name of it
"start" is label of it
"start" is pageid of it
"Presentation" is topic of it
#
#Slide
#
Slide isA Topic
"Slide" is name of it
"Slides" is pluralName of it
"I am a presentation slide" is documentation of it
"I am a presentation slide" is wikiDocumentation of it
"File:Chart.png" is icon of it
"property" is defaultstoremode of it
"Presentation" is context of it
Slide_title addsTo it
Slide_next addsTo it
Slide_prev addsTo it
Slide_notes addsTo it
Slide_state addsTo it
Slide_comment addsTo it
Slide_presentation addsTo it
Slide_title isA Property
"title" is name of it
"title" is label of it
"title" is pageid of it
"Slide" is topic of it
Slide_next isA Property
"next" is name of it
"next" is label of it
"next" is pageid of it
"Slide" is topic of it
Slide_prev isA Property
"prev" is name of it
"prev" is label of it
"prev" is pageid of it
"Slide" is topic of it
Slide_notes isA Property
"notes" is name of it
"notes" is label of it
"notes" is pageid of it
"Slide" is topic of it
Slide_state isA Property
"state" is name of it
"state" is label of it
"state" is pageid of it
"Slide" is topic of it
Slide_comment isA Property
"comment" is name of it
"comment" is label of it
"comment" is pageid of it
"Slide" is topic of it
Slide_presentation isA Property
"presentation" is name of it
"dropdown" is inputType of it
"presentation" is label of it
"presentation" is pageid of it
"Slide" is topic of it
Presentation_has_Slides isA TopicLink
"presentation_has_slides" is name of it
"Presentation" is source of it
"presentation of this slide" is sourceDocumentation of it
"presentation" is sourceRole of it
false is sourceMultiple of it
"Slide" is target of it
"slides" is targetRole of it
"slides for a presentation" is targetDocumentation of it
true is targetMultiple of it
true is masterDetail of it
#
#PageSequence
#
PageSequence isA Topic
"PageSequence" is name of it
"PageSequences" is pluralName of it
"A Sequence of pages that might belong to the same category and might have an icon" is documentation of it
"A Sequence of pages that might belong to the same category and might have an icon" is wikiDocumentation of it
"File:Pagesequenceicon.png" is icon of it
"/images/f/fd/Pagesequenceicon.png" is iconUrl of it
"property" is defaultstoremode of it
false is cargo of it
"Presentation" is context of it
PageSequence_prev addsTo it
PageSequence_next addsTo it
PageSequence_category addsTo it
PageSequence_categoryIcon addsTo it
# properties of PageSequence
# property prev
PageSequence_prev isA Property
"prev" is name of it
"previous" is label of it
"Page" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"dropdown" is inputType of it
"Concept:Presentation" is values_from of it
true is showInGrid of it
false is isLink of it
"PageSequence" is topic of it
# property next
PageSequence_next isA Property
"next" is name of it
"next" is label of it
"Page" is type of it
5 is index of it
false is primaryKey of it
true is mandatory of it
false is uploadable of it
"dropdown" is inputType of it
"Concept:Presentation" is values_from of it
true is showInGrid of it
false is isLink of it
"PageSequence" is topic of it
# property category
PageSequence_category isA Property
"category" is name of it
"category" is label of it
"Page" is type of it
6 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"dropdown" is inputType of it
"Special:Categories" is values_from of it
true is showInGrid of it
false is isLink of it
"PageSequence" is topic of it
# property categoryIcon
PageSequence_categoryIcon isA Property
"categoryIcon" is name of it
"categoryIcon" is label of it
"URL" is type of it
7 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"text" is inputType of it
true is showInGrid of it
false is isLink of it
"PageSequence" is topic of it
#
#Icon
#
Icon isA Topic
"Presentation" is context of it
name addsTo it
style addsTo it
size addsTo it
</source>
=== wikiTasks ===
{{TopicWikitasks
|context=Presentation
|topic=Presentation
|input=sidif
}}
{{TopicWikitasks
|context=Presentation
|topic=Slide
|input=sidif
}}
[[Category:Presentation]]
df959fe18ad5ae22bddad7e0bbcb4187960b531e
GraphViz
0
42
82
2015-11-05T19:45:03Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:01Z
wikitext
text/x-wiki
== Graphviz ==
=== Documentation ===
* http://www.graphviz.org
* http://www.graphviz.org/Documentation/dotguide.pdf
* http://www.tonyballantyne.com/graphs.html
* http://www.graphviz.org/doc/fontfaq.txt
* http://stackoverflow.com/questions/tagged/graphviz
* http://graphs.grevian.org/reference
==== Mediawiki Graphviz extension ====
* https://www.mediawiki.org/wiki/Extension:GraphViz
=== Fiddle ===
* http://www.webgraphviz.com/
=== Examples ===
==== Graph ====
<source lang='php'>
<graphviz format='svg'>
graph graphname {
Stakeholder -- Requirements;
Requirements -- Samplecases;
Requirements -- Model;
Model -- Code;
}
</graphviz>
</source>
<graphviz format='svg'>
graph graphname {
Stakeholder -- Requirements;
Requirements -- Samplecases;
Requirements -- Model;
Model -- Code;
}
</graphviz>
==== Hierarchy ====
<source lang='php'>
<graphviz>
digraph hierarchy {
nodesep=1.0 // increases the separation between nodes
node [color=Red,fontname=Courier,shape=box] //All nodes will this shape and colour
edge [color=Blue, style=dashed] //All the lines look like this
Model->{Package1 Package2 System}
Package1->{Class1 Class2}
System->Subsystem
{rank=same;Subsystem Class1 Class2} // Put them on the same level
}
</graphviz>
</source>
<graphviz>
digraph hierarchy {
nodesep=1.0 // increases the separation between nodes
node [color=Red,fontname=Courier,shape=box] //All nodes will this shape and colour
edge [color=Blue, style=dashed] //All the lines look like this
Model->{Package1 Package2 System}
Package1->{Class1 Class2}
System->Subsystem
{rank=same;Subsystem Class1 Class2} // Put them on the same level
}
</graphviz>
==== HTML labels ====
<source lang='php'>
digraph G {
"Record" [ label=<<table>
<tr>
<td>A</td>
<td bgcolor='#00CC11'>B</td>
</tr>
</table>
>
];
}
</source>
<graphviz>
digraph G {
"Record" [ label=<<table>
<tr>
<td>A</td>
<td bgcolor='#00CC11'>B</td>
</tr>
</table>
>
];
}
</graphviz>
==== UML ====
<source lang='php'>
digraph obj{
nodesep=1.0 // increases the separation between nodes
node[shape=record, color="#FF8000", fontname = "Technical"];
rankdir="BT";
teacher [label = "{<f0> Teacher|<f1> name\n |<f2> \n }"];
course [label = "{<f0> Course|<f1>title \n |<f2> \n }"];
student [label = "{<f0> Student|<f1>name \n |<f2> \n }"];
lesson [label = "{<f0> Lesson |<f1> \n |<f2> \n }"];
tutorial [label = "{<f0> Tutorial|<f1> \n |<f2> \n }"];
assessment[label = "{<f0> Assessment|<f1> \n |<f2> \n }"];
coursework [label = "{<f0> Coursework|<f1> \n |<f2> \n }"];
exam [label = "{<f0> Exam|<f1> \n |<f2> \n }"];
teacher->course [dir="forward",arrowhead="none",arrowtail="normal",headlabel=" 1",taillabel=" 1.."];
student->course [dir="forward",arrowhead="none",arrowtail="normal",headlabel=" 1",taillabel=" 1.."];
lesson->course [dir="forward",arrowhead="diamond",arrowtail="normal"];
tutorial->course [dir="forward",arrowhead="diamond",arrowtail="normal"];
assessment->course [dir="forward",arrowhead="diamond",arrowtail="normal"];
coursework->assessment;
exam->assessment;
{rank=same; teacher course student};
}
</source>
<graphviz>
digraph obj{
nodesep=1.0 // increases the separation between nodes
node[shape=record, color="#FF8000", fontname = "Technical"];
rankdir="BT";
teacher [label = "{<f0> Teacher|<f1> name\n |<f2> \n }"];
course [label = "{<f0> Course|<f1>title \n |<f2> \n }"];
student [label = "{<f0> Student|<f1>name \n |<f2> \n }"];
lesson [label = "{<f0> Lesson |<f1> \n |<f2> \n }"];
tutorial [label = "{<f0> Tutorial|<f1> \n |<f2> \n }"];
assessment[label = "{<f0> Assessment|<f1> \n |<f2> \n }"];
coursework [label = "{<f0> Coursework|<f1> \n |<f2> \n }"];
exam [label = "{<f0> Exam|<f1> \n |<f2> \n }"];
teacher->course [dir="forward",arrowhead="none",arrowtail="normal",headlabel=" 1",taillabel=" 1.."];
student->course [dir="forward",arrowhead="none",arrowtail="normal",headlabel=" 1",taillabel=" 1.."];
lesson->course [dir="forward",arrowhead="diamond",arrowtail="normal"];
tutorial->course [dir="forward",arrowhead="diamond",arrowtail="normal"];
assessment->course [dir="forward",arrowhead="diamond",arrowtail="normal"];
coursework->assessment;
exam->assessment;
{rank=same; teacher course student};
}
</graphviz>
92e3b523fa3bae0f3da63d0bc592323ad2eec188
File:GraphViz digraph G dot.png
6
43
83
2015-11-05T19:45:03Z
Wf
1
generated by the GraphViz [[Special:Version#Installed_extensions|extension]] from the [[GraphViz]] page
wikitext
text/x-wiki
[[Category:GraphViz]][[Category:GraphViz dot]]
d1f9cf68e993d59c3c9ce3627f507a743ad6138b
File:GraphViz digraph hierarchy dot.png
6
44
84
2015-11-05T19:45:03Z
Wf
1
generated by the GraphViz [[Special:Version#Installed_extensions|extension]] from the [[GraphViz]] page
wikitext
text/x-wiki
[[Category:GraphViz]][[Category:GraphViz dot]]
d1f9cf68e993d59c3c9ce3627f507a743ad6138b
File:GraphViz digraph obj dot.png
6
45
85
2015-11-05T19:45:03Z
Wf
1
generated by the GraphViz [[Special:Version#Installed_extensions|extension]] from the [[GraphViz]] page
wikitext
text/x-wiki
[[Category:GraphViz]][[Category:GraphViz dot]]
d1f9cf68e993d59c3c9ce3627f507a743ad6138b
File:GraphViz graph graphname dot.svg
6
46
86
2015-11-05T19:45:04Z
Wf
1
generated by the GraphViz [[Special:Version#Installed_extensions|extension]] from the [[GraphViz]] page
wikitext
text/x-wiki
[[Category:GraphViz]][[Category:GraphViz dot]]
d1f9cf68e993d59c3c9ce3627f507a743ad6138b
File:File graph GraphVizExtensionDummy dot.png
6
47
87
2015-11-05T19:45:06Z
Wf
1
generated by the GraphViz [[Special:Version#Installed_extensions|extension]] from the [[File]] page
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Rythm
0
49
89
2015-11-05T19:45:06Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:04Z
wikitext
text/x-wiki
=== What is Rythm? ===
The {{Link|target=http://rythmengine.org|title=Rhythm template engine}} is inspired by the syntax of
{{Link|target=http://weblogs.asp.net/scottgu/introducing-razor|title=Microsoft's Razor ViewEngine for Asp.Net}}
It supports java code right in the templates
=== Links ===
* {{Link|target=http://stackoverflow.com/tags/rythm|title=Rythm questions on stackoverflow}}
* {{Link|target=http://fiddle.rythmengine.com/#/all_demos|title=Rythm fiddle with demos}}
* {{Link|target=https://github.com/greenlaw110/Rythm/issues|title=Issues}}
=== Examples ===
*http://partner.bitplan.com/index.php/Example_WF_ZQuestion/questionsnew
*http://partner.bitplan.com/index.php/Example_ZQuestion
=== Author ===
{{Link|target=Green Luo}}
46456f946cedb0eab1ad412921e5b2f56b7f2efa
Property:Property allowedValues
102
50
90
2015-11-05T19:45:07Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:06Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=13
|size=50
|topic=Concept:Property
|label=allowedValues
|name=allowedValues
|primaryKey=false
|documentation=There are two ways to specified allowed Values:
# https://semantic-mediawiki.org/wiki/Help:Special_property_Allows_value. <br>Use [[Property:Allows_value]] to see which values are allowed for certain properties
# http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>values=possible values - Specifies a set of either possible values or autocompletion values (depending on the input type) that this field can have, overriding whatever set of values may have been set from the Semantic MediaWiki property. This set of values is separated by commas by default, but the delimiter can be modified using the delimiter= parameter.
If you specify any values method number 2 will be used here which might override any allowed Values specified with method number 1.
|type=Special:Types/Text
|storemode=property
|property=Property:Property allowedValues
}}
[[Has type::Text]]
[[has default form::Property]]
e67903d9e926464e0d697a421aeadc7bf8d145e9
Property:Property defaultValue
102
51
91
2015-11-05T19:45:08Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:07Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=11
|size=80
|topic=Concept:Property
|label=default
|name=defaultValue
|primaryKey=false
|documentation=default value - Specifies a default value for this field. For date-related fields, default=now will set the value to the current date and possibly time. For text fields, default=current user will set the value to the username of the user adding this page. For the checkbox input type, default=yes will check the checkbox by default. (The 'checkboxes' input type, on the other hand, like the 'listbox' type, requires specifying the actual values, like default=Value A, Value C.) You can also include templates, parser functions, and magic words within the 'default=' value.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag (default)
|type=Special:Types/Code
|storemode=property
}}
[[Has type::Code]]
[[has default form::Property]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
44ffb6a4b45e8fc917a0030e0273ad6eb1877f75
Property:Property documentation
102
52
92
2015-11-05T19:45:09Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:08Z
wikitext
text/x-wiki
{{Property
|inputType=textarea
|mandatory=false
|uploadable=false
|index=14
|size=500
|topic=Concept:Property
|label=documentation
|name=documentation
|primaryKey=false
|documentation=The documentation for a property
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
[[has default form::Property]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
2b833721621b40c223fb989a522687e4d28e33d8
Property:Property inputType
102
53
93
2015-11-05T19:45:11Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:10Z
wikitext
text/x-wiki
{{Property
|inputType=dropdown
|mandatory=false
|allowedValues=text, combobox, dropdown, textarea, tree, datetime, datepicker, timepicker, datetimepicker, menuselect,two listboxes, datecheck, regexp, radiobutton, googlemaps
|uploadable=false
|index=12
|size=50
|topic=Concept:Property
|label=inputType
|name=inputType
|primaryKey=false
|documentation=see
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>input type - Specifies the type of input this field will have in the form. If a field corresponds to an SMW property or Cargo field, the form will usually have the correct input type by default; otherwise the default is text. If the corresponding SMW property, or Cargo field, cannot be automatically determined, you can use the parameter 'property', or the parameters 'cargo table' and 'cargo field', to manually specify it (see below). The allowed set of input types is different for every semantic property type; see below for the full list of options.
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Allowed_input_types_for_data_types
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms_Inputs
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
[[has default form::Property]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
bcc1c7fc72df080de5dd990110d3e6d17e784265
Property:Property label
102
54
94
2015-11-05T19:45:12Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:11Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=2
|size=50
|topic=Concept:Property
|label=label
|name=label
|primaryKey=false
|documentation=The label to be shown when in a form
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
23fbf79e328b7d8094af34184d6d930a07d1cdc1
Property:Property mandatory
102
55
95
2015-11-05T19:45:13Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:12Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=7
|size=4
|topic=Concept:Property
|label=mandatory
|name=mandatory
|primaryKey=false
|documentation=Specifies that this field must be filled in by the user. Note: mandatory should not be used in conjunction with hidden. Use of both in any field will cause the mandatory check on any field to fail when the form is saved.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
|type=Special:Types/Boolean
|storemode=property
}}
[[Has type::Boolean]]
[[Has default form::Property]]
718e5363c09756867d6bae12de1506dde101434a
Property:Property name
102
56
96
2015-11-05T19:45:14Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:13Z
wikitext
text/x-wiki
{{Property
|name=name
|label=name
|type=Special:Types/Text
|index=1
|sortPos=2
|primaryKey=Yes
|mandatory=Yes
|size=50
|uploadable=No
|documentation=The name of the property
|showInGrid=Yes
|isLink=No
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
[[Category:Property]]
1c13b1dce7c83ef117a1f9ce56fb3396ca7c75ae
Property:Property type
102
57
97
2015-11-05T19:45:15Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:14Z
wikitext
text/x-wiki
{{Property
|defaultValue=Text
|mandatory=false
|uploadable=false
|index=3
|topic=Concept:Property
|label=type
|name=type
|primaryKey=false
|documentation=The type of a Property
|type=Special:Types/Page
|storemode=property
}}
[[Has type::Page]]
[[has default form::Property]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
6d71e846c243c2967e33096e6572550cba2aaace
Property:Property primaryKey
102
58
98
2015-11-05T19:45:16Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:15Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=6
|size=4
|topic=Concept:Property
|label=primary key
|name=primaryKey
|primaryKey=false
|documentation=is this property a primary key of it's topic?
|type=Special:Types/Boolean
|storemode=property
}}
[[Has type::Boolean]]
56e5125901b976dec053068d7f4b0a7ea4d8832e
Property:Property namespace
102
59
99
2015-11-05T19:45:17Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:16Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=8
|size=20
|topic=Concept:Property
|label=namespace
|name=namespace
|primaryKey=false
|documentation=namespace prefix
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
b217694178e24b57b74ff04bac85e95a0c2d6c2c
Property:Property size
102
60
100
2015-11-05T19:45:18Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:17Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=9
|size=3
|topic=Concept:Property
|label=size
|name=size
|primaryKey=false
|documentation=the display size of the field for the property
|type=Special:Types/Number
|storemode=property
}}
[[Has type::Number]]
6d1aeb669e42cf06f255bf3087c95b8323730c6f
Property:Property index
102
61
101
2015-11-05T19:45:19Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:18Z
wikitext
text/x-wiki
{{Property
|name=index
|label=index
|type=Special:Types/Number
|index=4
|sortPos=1
|primaryKey=No
|mandatory=No
|uploadable=No
|documentation=A positive number that specifies at which position of a Topic the given property should show. The first property to show has the index 1 each following property has an index that is +1 of the previous.
|showInGrid=Yes
|isLink=No
|topic=Concept:Property
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
eb1e0afba178e68d4c09204921bad6740d15e493
Property:Property sortPos
102
62
102
2015-11-05T19:45:20Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:20Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=5
|size=3
|topic=Concept:Property
|label=sortPos
|name=sortPos
|primaryKey=false
|documentation=If none empty >0 this is the position in the sort clause of this
property. This is used when displaying list of the topic as the default sort order
and it is used for selecting topics .
E.g.
Sortpos 1 for attribute lastname and sortpos 2 for attribute firstname leads to sort by lastname,firstname
|type=Special:Types/Number
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
fe462fcd4a1efcb4162a2501c0226bebeb0a208c
Property:Topic cargo
102
63
103
2015-11-05T19:45:22Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:21Z
wikitext
text/x-wiki
{{Property
|name=cargo
|label=use cargo
|type=Special:Types/Boolean
|index=9
|primaryKey=No
|mandatory=No
|uploadable=No
|documentation=Should the Topic be stored using the [https://www.mediawiki.org/wiki/Extension:Cargo Cargo Extension?]
|showInGrid=No
|isLink=No
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
9bcc14ed2d7ff43056bd2f72b019cfabcf34abb6
Property:Property showInGrid
102
64
104
2015-11-05T19:45:23Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:22Z
wikitext
text/x-wiki
{{Property
|name=showInGrid
|label=showInGrid
|type=Special:Types/Boolean
|index=16
|primaryKey=false
|mandatory=false
|uploadable=false
|defaultValue=true
|documentation=I am true if this property is displayed in the default list of properties for my topic as
a column
|showInGrid=true
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
ee6f2a46155aac74f158fb099aa846d4ef8ba2a0
Property:Property isLink
102
65
105
2015-11-05T19:45:24Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:23Z
wikitext
text/x-wiki
{{Property
|name=isLink
|label=isLink
|type=Special:Types/Boolean
|index=17
|primaryKey=false
|mandatory=false
|uploadable=false
|documentation=true if this Property is derived form a Link. It will not be exported to SiDIF separately and automatically be added by the Property Generator
|showInGrid=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
22858d0e45d7302303a1fcebdd4d410f5434caa9
Property:Property topic
102
66
106
2015-11-05T19:45:25Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:24Z
wikitext
text/x-wiki
{{Property
|name=topic
|label=topic
|type=Special:Types/Page
|index=19
|primaryKey=false
|mandatory=false
|size=50
|uploadable=false
|showInGrid=false
|isLink=true
|topic=Concept:Property
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
98ab59e6b838ff45794d5408c4881a10815d025d
Property:Property values from
102
67
107
2015-11-05T19:45:26Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:25Z
wikitext
text/x-wiki
{{Property
|inputType=textarea
|mandatory=false
|uploadable=false
|index=15
|size=200
|topic=Concept:Property
|label=values from
|name=values_from
|primaryKey=false
|documentation=Specifies where to get the possible values to be displayed in a form from see
http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* values from property=property name - Similar to values=, but gets its values from the the set of all values that a certain SMW property points to.
* values from category=category name - Similar to values=, but gets its values from the names of all pages belonging to a specific category.
* values from concept=concept name - Similar to values=, but gets its values from the names of all pages belonging to a specific concept.
* values from namespace=namespace name - Similar to values=, but gets its values from the names of all pages belonging to a specific namespace. (To get values from the main namespace, use 'Main' for the namespace name, or just leave it blank.)
* values from url=URL identifier - Used only for autocompletion. Specifies that autocompletion should be based on the values retrieved from an outside URL; see Autocompleting on outside values for how to do this.
* values from external data=variable name - Used for autocompletion. You need to have theExternal Data extension installed to be able to use this parameter. It specifies that autocompletion should be based on the data retrieved from an outside source. A large number of data sources are supported, including web APIs, regular wiki pages, files on the local server, databases and LDAP directories. See Autocompletion using External Data.
|type=Special:Types/Code
|storemode=property
}}
[[Has type::Code]]
[[has default form::Property]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
9555f290c4f05dabf9f1e62ac13b47494e8b1473
Property:Property uploadable
102
68
108
2015-11-05T19:45:27Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:26Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=10
|size=4
|topic=Concept:Property
|label=uploadable
|name=uploadable
|primaryKey=false
|documentation=Specifies that a link should be placed next to this field, that opens a popup window to let the user upload a file; see 'Uploading files', below. See
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Uploading_files
The type of the target property needs to be Page for this to work
|type=Special:Types/Boolean
|storemode=property
}}
[[Has type::Boolean]]
[[Has default form::Property]]
1a93d39ea095dd657b34c5c217961aefecb83f3f
Property:Topic defaultstoremode
102
69
109
2015-11-05T19:45:28Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:28Z
wikitext
text/x-wiki
{{Property
|inputType=radiobutton
|mandatory=false
|allowedValues=none,property,subobject
|uploadable=false
|index=7
|size=50
|topic=Concept:Topic
|label=default storemode
|name=defaultstoremode
|primaryKey=false
|documentation=The default storemode of the topic
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
[[has default form::Property]]
05060f4b0bb55c078dac30b4cfc4d9f0ce53e2d5
Property:Topic documentation
102
70
110
2015-11-05T19:45:29Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:29Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=5
|size=50
|topic=Concept:Topic
|label=documentation
|name=documentation
|primaryKey=false
|documentation=The plaintext documentation of a Topic. Please do not use markup for this.
|type=Special:Types/Text
|storemode=property
|property=Property:Topic documentation
}}
[[Has type::Text]]
[[has default form::Property]]
6ba2bbaed18c312f55e610df1336b6c68844b17d
Property:Topic name
102
71
111
2015-11-05T19:45:31Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:30Z
wikitext
text/x-wiki
{{Property
|mandatory=true
|uploadable=false
|index=1
|size=80
|topic=Concept:Topic
|label=name
|name=name
|primaryKey=true
|documentation=The name of the topic
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
[[has default form::Property]]
151ce334866dccd0f91225df5102807d5130f935
Property:Topic pluralName
102
72
112
2015-11-05T19:45:32Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:31Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=2
|size=50
|topic=Concept:Topic
|label=pluralName
|name=pluralName
|primaryKey=false
|documentation=The plural of a topic name. E.g. for the topic 'City' the pluralName is 'Cities'. If no pluralName is specified an 's' is appended. E.g. for the topic 'Book' the default pluralName is 'Books'
|type=Special:Types/Text
|storemode=property
|property=Property:Topic pluralName
}}
[[Has type::Text]]
[[has default form::Property]]
1922e57e37b28d54c479f33f16046e2382b9fd7b
Property:Topic wikiDocumentation
102
73
113
2015-11-05T19:45:33Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:32Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=6
|size=50
|topic=Concept:Topic
|label=wikiDocumentation
|name=wikiDocumentation
|primaryKey=false
|documentation=Documentation of the Topic using MediaWiki / Semantic Mediawiki markup
|type=Special:Types/Text
|storemode=property
|property=Property:Topic wikiDocumentation
}}
[[Has type::Text]]
[[has default form::Property]]
134096325a9f0c2493a4d735dd43466c305bc740
Property:Topic icon
102
74
114
2015-11-05T19:45:34Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:33Z
wikitext
text/x-wiki
{{Property
|name=icon
|label=icon
|type=Special:Types/Page
|index=3
|primaryKey=false
|mandatory=false
|namespace=File
|size=55
|uploadable=true
|documentation=an Icon for the topic
|showInGrid=false
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Page]]
[[has default form::Property]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
0cfb51e5af30caa7900bcc843b9e8b76bade387c
Property:Topic iconUrl
102
75
115
2015-11-05T19:45:35Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:34Z
wikitext
text/x-wiki
{{Property
|name=iconUrl
|label=icon Url
|type=Special:Types/URL
|index=4
|primaryKey=false
|mandatory=false
|size=80
|uploadable=false
|inputType=text
|documentation=the url of an icon
|showInGrid=false
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Code]]
[[has default form::Property]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
3f4e5345d4b67588ccab5a79e9ca71f544102a4a
Property:Topic context
102
76
116
2015-11-05T19:45:36Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:35Z
wikitext
text/x-wiki
{{Property
|name=context
|label=context
|type=Special:Types/Page
|index=10
|primaryKey=No
|mandatory=No
|uploadable=No
|documentation=The context of this topic
|showInGrid=No
|isLink=Yes
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
c710b9b5eae89abc7be6fbaa1a918f828703eee6
Property:Context name
102
77
117
2015-11-05T19:45:37Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:36Z
wikitext
text/x-wiki
{{Property
|mandatory=true
|uploadable=false
|index=1
|sortPos=1
|size=80
|topic=Concept:Context
|label=name
|name=name
|primaryKey=true
|documentation=Name of the context
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
45ee7b0006bf6fd122dd79cf7a233c131af5ee58
Property:TopicLink name
102
78
118
2015-11-05T19:45:38Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:37Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=1
|size=50
|topic=Concept:TopicLink
|label=name
|name=name
|primaryKey=false
|documentation=The name of the topic link
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
2103dc93e08358b4f1b03eadb1c616d1d76260f4
Property:TopicLink source
102
79
119
2015-11-05T19:45:39Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:38Z
wikitext
text/x-wiki
{{Property
|inputType=dropdown
|mandatory=true
|uploadable=false
|values_from=concept=Topic
|index=2
|size=50
|topic=Concept:TopicLink
|label=source
|name=source
|primaryKey=false
|documentation=the source of a topic Link
|type=Special:Types/Page
|storemode=property
}}
[[Has type::Page]]
d0a485631145ee8f336fc518f91b4bebc1508a4e
Property:TopicLink sourceMultiple
102
80
120
2015-11-05T19:45:40Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:39Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=4
|size=50
|topic=Concept:TopicLink
|label=sourceMultiple
|name=sourceMultiple
|primaryKey=false
|type=Special:Types/Boolean
|storemode=property
}}
[[Has type::Boolean]]
[[has default form::Property]]
8492ccb436de19677e7a26c7ba738c242080a939
Property:TopicLink sourceRole
102
81
121
2015-11-05T19:45:41Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:40Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=3
|size=50
|topic=Concept:TopicLink
|label=sourceRole
|name=sourceRole
|primaryKey=false
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
9f2c2a586a41eb2316534ba18b08a0880646d11b
Property:TopicLink sourceDocumentation
102
82
122
2015-11-05T19:45:42Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:41Z
wikitext
text/x-wiki
{{Property
|inputType=textarea
|mandatory=false
|uploadable=false
|index=5
|size=300
|topic=Concept:TopicLink
|label=source Doc
|name=sourceDocumentation
|primaryKey=false
|documentation=Documentation for the source Role
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
[[has default form::Property]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
e6963a8a85edefd280c84cc01454c0438c32e9f1
Property:TopicLink target
102
83
123
2015-11-05T19:45:43Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:43Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=6
|size=50
|topic=Concept:TopicLink
|label=target
|name=target
|primaryKey=false
|type=Special:Types/Page
|storemode=property
}}
[[Has type::Page]]
7d3340f7d836dc22b0a1825669f23f35a0d9cc6d
Property:TopicLink targetMultiple
102
84
124
2015-11-05T19:45:45Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:44Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=8
|size=50
|topic=Concept:TopicLink
|label=sourceMultiple
|name=targetMultiple
|primaryKey=false
|type=Special:Types/Boolean
|storemode=property
}}
[[Has type::Boolean]]
[[has default form::Property]]
152b442489dfe8447d3191e2daff94b2ed3be5ec
Property:TopicLink targetRole
102
85
125
2015-11-05T19:45:46Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:45Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=7
|size=50
|topic=Concept:TopicLink
|label=targetRole
|name=targetRole
|primaryKey=false
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
b98155d0514a4af41e47809d38210aeef5ca9b82
Property:TopicLink targetDocumentation
102
86
126
2015-11-05T19:45:47Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:46Z
wikitext
text/x-wiki
{{Property
|inputType=textarea
|mandatory=false
|uploadable=false
|index=9
|size=300
|topic=Concept:TopicLink
|label=target Doc
|name=targetDocumentation
|primaryKey=false
|documentation=Documentation for the target Role
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
[[has default form::Property]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
cac8902110d2716bad1d656d32f24e82bd41c95b
Property:TopicLink masterDetail
102
87
127
2015-11-05T19:45:48Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:47Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=10
|topic=Concept:TopicLink
|label=masterDetail
|name=masterDetail
|primaryKey=false
|documentation=should the details be displayed in the same form and template?
If no
* for a 1:1 link there will be a linking attribute used and that can be selected.
* for a 1:n link a link to the list of neighbours will be displayed
if yes
* for a 1:1 link the details
* for a 1:n link
|type=Special:Types/Boolean
|storemode=property
}}
[[Has type::Boolean]]
[[has default form::Property]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
080f789c46ebb6a1a079c2da1b7183dc8975a135
Property:SMW Type documentation
102
88
128
2015-11-05T19:45:49Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:48Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=2
|size=50
|topic=Concept:SMW Type
|label=type
|name=documentation
|primaryKey=false
|documentation=The documentation of this Semantic Media Wiki type
|type=Special:Types/Text
|storemode=property
|property=Property:SMW Type documentation
}}
[[Has type::Text]]
22226bbb54fbb2bd626fbcb0e68b0eb4a1ff9e36
Property:SMW Type helppage
102
89
129
2015-11-05T19:45:50Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:49Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=3
|size=50
|topic=Concept:SMW Type
|label=type
|name=helppage
|primaryKey=false
|documentation=The url of the 'official' documentation page of this type
|type=Special:Types/URL
|storemode=property
}}
[[Has type::URL]]
[[has default form::Property]]
46b976c63eb7a7f5528b8177c9bc97a572a27299
Property:SMW Type type
102
90
130
2015-11-05T19:45:51Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:50Z
wikitext
text/x-wiki
{{Property
|mandatory=true
|uploadable=false
|index=1
|size=50
|topic=Concept:SMW Type
|label=type
|name=type
|primaryKey=true
|documentation=The Semantic MediaWiki type without the prefix e.g. Text, Number, Boolean
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?PropertyConfiguration type#- }}
[[Category:SMW Type]]
48a014cc7476126a7dea3e8a8b065f306fd104e9
Property:SMW Type typepage
102
91
131
2015-11-05T19:45:52Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:51Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=4
|size=50
|topic=Concept:SMW Type
|label=typepage
|name=typepage
|primaryKey=false
|documentation=The Semantic Media Wiki Special page for this specific type e.g. Special:Types/Text, Special:Types/Boolean, Special:Types/Date, Special:Types/Number, Special:Types/Page
|type=Special:Types/Page
|storemode=property
}}
[[Has type::Page]]
[[Category:SMW Type]]
9b19c3be6c31422fc26ba37353b54dd0e193050d
Property:SMW Type javaType
102
92
132
2015-11-05T19:45:53Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:52Z
wikitext
text/x-wiki
{{Property
|mandatory=false
|uploadable=false
|index=5
|size=50
|topic=Concept:SMW Type
|label=java Type
|name=javaType
|primaryKey=false
|documentation=java mapping of this type
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?PropertyConfiguration type#- }}
[[Category:SMW Type]]
306481ca53265e177f6216ab5fcf4e9dffe0b5a4
Template:Link
10
19
133
26
2015-11-05T19:45:56Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:54Z
wikitext
text/x-wiki
<noinclude>
<!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->
{{PageSequence
|prev=Vorlage:PageSequence
|next=Vorlage:IconLink
|category=Template
|categoryIcon=documents_new
}}
== template purpose ==
This is a Template for internal and external Links in WikiSon notation.
=== Motivation ===
In Mediawiki there are at least five different ways to use a link - we'd like to hide this complexity and add new functionality:
# <pre>[[Main Page]]</pre>[[Main Page]] - internal link with no text
# <pre>[[Main Page|Start Page]]</pre>[[Main Page|Start Page]] - internal link with text
# <pre>[http://partner.bitplan.com] </pre>[http://partner.bitplan.com] - external link as footnote
# <pre>[http://partner.bitplan.com BITPlan partner site] </pre>[http://partner.bitplan.com BITPlan partner site] - external link with text
# <pre>http://partner.bitplan.com </pre>http://partner.bitplan.com - automatic external link
== WikiSon Link ==
=== Motivation ===
The Concept behind a link is
<uml>
Class Link {
target
title
}
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
hide Circle
skinparam note{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam package{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam usecase{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam activity{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam classAttribute{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam class{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
</uml>
This calls for the WikiSon notation
<pre>
{{Link
|target=sometarget
|text=sometext
}}
</pre>
=== Link as WikiSon ===
Using the WikiSon Concept approach the Link Concept is represented via
the Wiki [[:Category:Link]]<br>
Especially there is a [[List of Links]] page available.
=== Importance ===
this is a fundamental concept should not be broken. Therefore
{{Fixme|todo=This template needs to be protected soon|done=true}}
{{Fixme|todo=This template needs to be distributed in the smartMediaWiki network of wikis|done=false}}
=== Examples ===
<pre>
{{Link}}
</pre>
internal default link to Main Page
{{Link}}
<pre>
{{Link|target=Main Page}}
</pre>
internal link to Main Page
{{Link|target=Main Page}}
<pre>
{{Link|target=Main Page|title=Main Page}}
</pre>
internal link to Main Page with title
{{Link|target=Main Page|title=Main Page}}
<pre>
{{Link|target=http://partner.bitplan.com}}
</pre>
external link
{{Link|target=http://partner.bitplan.com}}
<pre>
{{Link|target=http://partner.bitplan.com|title=BITPlan Partner wiki}}
</pre>
external link with title
{{Link|target=http://partner.bitplan.com|title=BITPlan Partner wiki}}
=== implementation ===
==== Prerquisite ====
LocalSettings.php needs to have the StringFunctions enabled:
<source lang='php'>
# WF 2015-01-20
# allow string functions
$wgPFEnableStringFunctions=true;
</source>
==== Template source ====
The complexity of this template macro needs to be hidden
===== original Link Template =====
<pre>
{{#set:Link target={{{target|}}}
|Link title={{{title|}}}
}}{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http | {{#set:Link targetUrl={{{target|}}}}}{{#if: {{{title|}}}
| [{{{target|http://www.smartMediaWiki.com}}} {{{title}}}]
| [{{{target|http://www.smartMediaWiki.com}}}]
}}| {{#set:Link targetPage={{{target|}}}}}{{#if: {{{title|}}}
| [[{{{target|Main Page}}}|{{{title}}}]]
| [[{{{target|Main Page}}}]]
}}}}[[Category:Link]]
</pre>
===== pretty printed Template macro =====
this version would unfortunately create unwanted newlines in the macro result
<source lang='html4strict'>
<!-- set concept attributes target (mandatory) and title (optional) -->
{{#set:Link target={{{target|}}}
|Link title={{{title|}}}
}}
<!-- check whether link is external or internal by comparing the firsts 4 chars with "http" -->
{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http
| <!-- in the http case (external link) set the targetURL property - it has the type "URL" and not "Text" like target or "Page" like targetPage -->
{{#set:Link targetUrl={{{target|}}}}}
<!-- display external link with our without title -->
{{#if: {{{title|}}}
| [{{{target|http://www.smartMediaWiki.com}}} {{{title}}}]
| [{{{target|http://www.smartMediaWiki.com}}}]
}}
| <!-- in the non-http case (internal link) set the targetPage property - it has the type "Page" and not "Text" like target or "Url" like targetUrl -->
{{#set:Link targetPage={{{target|}}}}}
<!-- display internal link with our without title -->
{{#if: {{{title|}}}
| [[{{{target|Main Page}}}|{{{title}}}]]
| [[{{{target|Main Page}}}]]
}}
}}
<!-- set the Category so that any page using this is displayed in this category -->
[[Category:Link]]
</source>
==== How the Link Macro works ====
The Link Macro checks whether the link is external or internal and displays the correct version. It sets the Link Concept's attributes by setting the correspond Semantic Media Wiki properties.
it uses the following helper funcitons:
* Substring: https://www.mediawiki.org/wiki/Extension:StringFunctions/en#.23sub:
* #ifeq: https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions/en#.23ifeq
* #if: https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions/en#.23if
* #set: https://semantic-mediawiki.org/wiki/Help:Setting_values
===== Substring =====
<pre>
{{#sub:string|start|length}}
The start parameter, if positive (or zero), specifies a zero-based index of the first character to be returned.
Example: {{#sub:Icecream|3}} returns cream.
{{#sub:Icecream|0|3}} returns Ice.
</pre>
===== if exists and non empty =====
<pre>
{{#if: test string | value if test string is not empty | value if test string is empty (or only white space) }}
</pre>
===== if equals =====
<pre>
{{#ifeq: string 1 | string 2 | value if identical | value if different }}
</pre>
===== setting Semantic values =====
<pre>
{{#set:Has population=2,234,105
|Located in country=France
|Has mayor=Bertrand Delanoë
}}
</pre>
=== SMW PageSchema use ===
==== generated version of this template ====
<pre>
< noinclude>
Dies ist die Vorlage „Link“.
Sie sollte im folgenden Format genutzt werden:
< pre>
{{Link
|target=
|title=
}}
</ pre>
Klick auf „Bearbeiten“, um den Quelltext der Vorlage anzusehen.
</ noinclude>< includeonly>{| class="wikitable"
! target
| [[Link_target::{{{target|}}}]]
|-
! title
| [[Link_title::{{{title|}}}]]
...
|}
[[Kategorie:Link]]
</ includeonly>
</pre>
[[Category:Template]]</noinclude><includeonly>{{#set:Link target={{{target|}}}
|Link title={{{title|}}}
}}{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http | {{#set:Link targetUrl={{{target|}}}}}{{#if: {{{title|}}}
| [{{{target|http://www.smartMediaWiki.com}}} {{{title}}}]
| [{{{target|http://www.smartMediaWiki.com}}}]
}}| {{#set:Link targetPage={{{target|}}}}}{{#if: {{{title|}}}
| [[{{{target|Main Page}}}|{{{title}}}]]
| [[{{{target|Main Page}}}]]
}}}}</includeonly>
01b74a36b32aeea7413dd9e8eab16fe284c3286e
Template:IconLink
10
93
134
2015-11-05T19:45:57Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:56Z
wikitext
text/x-wiki
<noinclude>
__NOCACHE__
This is the "IconLink" template. It uses the ImageLink extension to render clickable Links with an Icon.
{{PageSequence
|prev=Vorlage:Link
|next=Vorlage:Fixme
|category=Template
|categoryIcon=documents_new
}}
=== Examples ===
<pre>
{{IconLink}}
</pre>
{{IconLink}}
<pre>
{{IconLink|name=download|target=https://www.magicdraw.com/main.php?ts=download_demo&cmd_go_to_login=1&menu=download_demo&back_cmd=cmd_show|title=Magicdraw 18.0 LTR download}}
</pre>
{{IconLink|name=download|target=https://www.magicdraw.com/main.php?ts=download_demo&cmd_go_to_login=1&menu=download_demo&back_cmd=cmd_show|title=Magicdraw 18.0 LTR download}}
<pre>
{{IconLink|name=node|target=Template:PageSequence|title=PageSequence Template}}
</pre>
{{IconLink|name=node|target=Template:PageSequence|title=PageSequence Template}}
</noinclude><includeonly>{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http
|<imgLink img='{{Icon|name={{{name|question_and_answer}}}|title={{{title|}}}}}' title='{{{title|}}}' href='{{{target|http://www.mediawiki.org}}}'></imgLink>
|<imgLink img='{{Icon|name={{{name|question_and_answer}}}|title={{{title|}}}}}'>{{{target|Main Page}}}</imgLink>
}}</includeonly>
eb232f51f60b67e05ea16213de0e2894aa0b0deb
Template:Done
10
94
135
2015-11-05T19:45:58Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:58Z
wikitext
text/x-wiki
<noinclude>
This is the Template ''Done''
=== usage ===
<pre>{{Done}}</pre>
{{Done}}
<pre>{{Done|size=12}}</pre>
{{Done|size=12}}
<pre>{{Done|size=36}}</pre>
{{Done|size=36}}
<pre>{{Done|size=48}}</pre>
{{Done|size=48}}
[[Category:Template]]
</noinclude><includeonly><span style='color:green;font-size:{{{size|24}}}px'>✓</span></includeonly>
b50c2628591159a4b190d7f396826d11fa68909d
Template:Sidif
10
95
136
2015-11-05T19:45:59Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:45:59Z
wikitext
text/x-wiki
<noinclude>
This is the Template <nowiki>sidif</nowiki>.
It displays a link to the {{sidif}} website.
=== Usage ===
<pre>
{{sidif}}
</pre>
==== result ====
{{sidif}}
=== templates used ===
[[Template:Link]]
</noinclude><includeonly>{{Link|target=http://www.sidif.org|title='''Si'''mple '''D'''ata '''I'''nterchange '''F'''ormat (SiDIF)}}</includeonly>
60796a12ee609949a7e168f6b21158d3971e5c00
Template:SmartMediaWiki
10
96
137
2015-11-05T19:46:01Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:46:00Z
wikitext
text/x-wiki
[http://www.smartMediaWiki.org smartMediaWiki]
e76180864b52ec6106023102453842d3ba1bfaa7
Template:TopicWikitasks
10
97
138
2015-11-05T19:46:02Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:46:01Z
wikitext
text/x-wiki
<noinclude>
This is the Template for the wikiTasks to generate Semantic Media Wiki related wiki pages for Topics
[[Category:Template]]
=== usage ===
<pre>
{{TopicWikitasks
|context=
|topic=
|input=
|plural=
}}
</pre>
==== Examples ====
<pre>
{{TopicWikitasks
|context=City
|topic=City
|plural=Cities
|input=cities
}}
</pre>
{{TopicWikitasks
|context=City
|topic=City
|plural=Cities
|input=cities
}}
</noinclude><includeonly>
{{wikitask|cmd=login|input={{urlencode:{{#realname:Visitor}}}}}}<br>
{{wikitask|cmd=reset}}<br>
*{{Link|target=Template:Wikitask}}
*{{Link|target=SiDIFTemplates}}
{| class='wikitable sortable'
! {{{topic|}}}
! sidif
! smw
|-
! template
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#template|targetpage=Template:{{{topic|}}}}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#template|targetpage=Template:{{{topic|}}}}}
|-
! form
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#form|targetpage=Form:{{{topic|}}}}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#form|targetpage=Form:{{{topic|}}}}}
|-
! list of
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#listof|targetpage=List of {{{plural|{{{topic|}}}s}}}}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#listof|targetpage=List of {{{plural|{{{topic|}}}s}}}}}
|-
! category
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#category|targetpage=Category:{{{topic|}}}}}{{Link|target=:Category:{{{topic|}}}}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#category|targetpage=Category:{{{topic|}}}}}{{Link|target=:Category:{{{topic|}}}}}
|-
! properties
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#properties|targetpage=Concept:{{{topic|}}}/properties}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#properties|targetpage=Concept:{{{topic|}}}/properties}}
|-
! help
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#help|targetpage=Help:{{{topic|}}}}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#help|targetpage=Help:{{{topic|}}}}}
|-
! instances
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#instances|targetpage={{{plural|{{{topic|}}}s}}}}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#instances|targetpage={{{plural|{{{topic|}}}s}}}}}
|-
! concept
| {{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#concept|targetpage=Concept:{{{topic|}}}}}
| {{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#concept|targetpage=Concept:{{{topic|}}}}}
|-
! java code
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#javacodegen|targetpage={{FULLPAGENAMEE}}#{{{topic|}}} JavaCode}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#javacodegen|targetpage={{FULLPAGENAMEE}}#{{{topic|}}} JavaCode}}
|-
| colspan='3' |<pre>
{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#javacodegen|targetpage={{FULLPAGENAMEE}}#{{{topic|}}} JavaCode}}
</pre>
|}
</includeonly>
305faa9291c5405b12b37b9ca6b8294d08ed6dd1
Template:Wikitask
10
98
139
2015-11-05T19:46:03Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:46:02Z
wikitext
text/x-wiki
<noinclude>
__NOCACHE__
This is the wikitask template for issuing commands to a RESTFUL Java WikiServer.
It uses [[Template:WikiIconTask]] for calling the WikiTask Server.
== Examples ==
=== login ===
<pre>
{{wikitask|cmd=login|input={{urlencode:{{#realname:Visitor}}}}}}
</pre>
{{wikitask|cmd=login|input={{urlencode:{{#realname:Visitor}}}}}} {{#realname:visitor}}
=== help ===
<pre>
{{wikitask|cmd=help}}
</pre>
{{wikitask|cmd=help}}
=== reset ===
<pre>
{{wikitask|cmd=reset}}
</pre>
{{wikitask|cmd=reset}}
=== debug ===
<pre>
{{wikitask|cmd=debug}}
</pre>
{{wikitask|cmd=debug}}
=== run template ===
==== sidif input ====
<source lang='xml' id='dadlovesmum'>
dad loves mum
kid loves mum
kid loves dad
kid likes granny
</source>
==== freemarker template ====
<source lang='java' id='triplegraph' >
<#assign rankdir="TB"/>
<#assign triples=tripleStore.getTriples()/>
== Triple graph ==
<graphviz format='svg'>
digraph {
rankdir="${rankdir}";
<#list triples as triple>
"${triple.subject}" -> "${triple.object}" [label="${triple.predicate}"];
</#list>
}
</graphviz>
</source>
<pre>
{{wikitask|cmd=runtemplate|input=dadlovesmum|template=triplegraph|targetpage=Dad loves mum 2015-03-14}}
</pre>
{{wikitask|cmd=runtemplate|input=dadlovesmum|template=triplegraph|targetpage=Dad loves mum 2015-03-14}}
</noinclude><includeonly>{{#switch:{{{cmd|}}}
|runtemplate={{WikiIconTask|cmd={{{cmd|help}}}|icon=media_play_green|input={{{input|}}}|params={{{params|}}}|template={{{template|}}}|dialog={{{dialog|}}}|engine={{{engine|}}}|targetpage={{{targetpage|}}}}} -> [[{{{targetpage|}}}]]
|help={{WikiIconTask|cmd={{{cmd}}}|icon=help}}
|reset={{WikiIconTask|cmd={{{cmd}}}|icon=recycle}}
|#default={{WikiIconTask|cmd={{{cmd|help}}}|icon=wrench|input={{{input|}}}|template={{{template|}}}|engine={{{engine|}}}|targetpage={{{targetpage|}}}}}}}</includeonly>
e6541544fa074e0bef18811726c474eec83464e7
Template:WikiIconTask
10
99
140
2015-11-05T19:46:04Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:46:03Z
wikitext
text/x-wiki
<noinclude>
see [[Template:Wikitask]]
<br> calls RESTFul Java WikiTask service on {{SERVERNAME}}
=== Examples===
<pre>
{{WikiIconTask|cmd=help|icon=help}}
</pre>
{{WikiIconTask|cmd=help|icon=help}}
<pre>
{{WikiIconTask|cmd=debug|icon=wrench}}
</pre>
{{WikiIconTask|cmd=debug|icon=wrench}}
<pre>
{{WikiIconTask|cmd=reset|icon=wrench}}
</pre>
{{WikiIconTask|cmd=reset|icon=wrench}}
=== Source ===
<source lang='php'>
<imgLink
img='{{Icon|name={{{icon|}}}|title={{{cmd|}}}}}'
target='_blank'
title='{{{cmd|}}}'
href='http://{{SERVERNAME}}:9089/wikiserver/task/{{{cmd|version}}}
?server={{urlencode:{{#sub:{{canonicalurl:{{PAGENAME}}}}|0|{{#pos:{{canonicalurl:{{PAGENAME}}}}|{{SCRIPTPATH}}/index.php/{{PAGENAMEE}}|0}}}}}}
&scriptpath={{urlencode:{{SCRIPTPATH}}}}
&contentlanguage={{CONTENTLANGUAGE}}
&page={{FULLPAGENAMEE}}
&input={{urlencode:{{{input|}}}}}
¶ms={{urlencode:{{{params|}}}}}
&template={{urlencode:{{{template|}}}}}
&dialog={{urlencode:{{{dialog|}}}}}
&engine={{{engine|}}}
&targetpage={{urlencode:{{{targetpage|}}}}}
&logo={{urlencode:{{{logo|http://web.bitplan.com/wp-content/uploads/sites/2/2013/05/mw_joomla_logo1.png}}}}}'
>
</imgLink>
</source>
=== siteurl ===
{|
!siteurl
|{{#sub:{{canonicalurl:{{PAGENAME}}}}|0|{{#pos:{{canonicalurl:{{PAGENAME}}}}|{{SCRIPTPATH}}/index.php/{{PAGENAMEE}}|0}}}}
|-
!canonicalurl
|{{canonicalurl:{{PAGENAME}}}}
|-
!PAGENAME
|{{PAGENAME}}
|-
!SERVERNAME
|{{SERVERNAME}}
|-
!SCRIPTPATH
|{{SCRIPTPATH}}
|-
|}
</noinclude><includeonly><imgLink img='{{Icon|name={{{icon|}}}|title={{{cmd|}}}}}' target='_blank' title='{{{cmd|}}}' href='http://{{SERVERNAME}}:9089/wikiserver/task/{{{cmd|version}}}?server={{urlencode:{{#sub:{{canonicalurl:{{PAGENAME}}}}|0|{{#pos:{{canonicalurl:{{PAGENAME}}}}|{{SCRIPTPATH}}/index.php/{{PAGENAMEE}}|0}}}}}}&scriptpath={{urlencode:{{SCRIPTPATH}}}}&contentlanguage={{CONTENTLANGUAGE}}&page={{FULLPAGENAMEE}}&input={{urlencode:{{{input|}}}}}¶ms={{urlencode:{{{params|}}}}}&template={{urlencode:{{{template|}}}}}&dialog={{urlencode:{{{dialog|}}}}}&engine={{{engine|}}}&targetpage={{urlencode:{{{targetpage|}}}}}&logo={{{logo|}}}'></imgLink></includeonly>
e9b2fd0a92930fa984b8a4facc0c0adcd63cf06e
Template:Icon
10
100
141
2015-11-05T19:46:06Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:46:05Z
wikitext
text/x-wiki
<noinclude>
__NOCACHE__
<!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->
This is the template for BITPlan Iconfactory stock icons
see [[:Category:Icon]]
=== examples ===
<pre>
{{Icon}}
</pre>
{{Icon}}
<pre>
{{Icon|name=home}}
</pre>
{{Icon|name=home}}
<pre>
{{Icon|name=home}}
</pre>
{{Icon|name=home}}
<pre>
{{Icon|name=server}}
</pre>
{{Icon|name=server}}
<pre>
{{Icon|name=home|style=plain}}
</pre>
{{Icon|name=home|style=plain}}
<pre>
{{Icon|name=home|size=32}}
</pre>
{{Icon|name=home|size=32}}
=== Stockicons ===
[http://capri.bitplan.com/sonstiges/icons/com.bitplan.icons.IconsFactory48x48shadow.html 48x48Shadow]
<file>/sonstiges/icons/48x48/shadow/</file>
Application Basics: <file>/sonstiges/icons/icons_ap.pdf</file>
Business and Data: <file>/sonstiges/icons/icons_bd.pdf</file>
Flags of the World: <file>/sonstiges/icons/icons_fw.pdf</file>
Network and Security: <file>/sonstiges/icons/icons_ns.pdf</file>
Objects and People: <file>/sonstiges/icons/icons_op.pdf</file>
=== implementation ===
<source lang='html4strict'>
http://capri.bitplan.com/sonstiges/icons/{{{size|48}}}x{{{size|48}}}/{{{style|shadow}}}/{{{name|question_and_answer}}}.png
</source>
==== alternative Implementation ====
<pre>
<img src='http://capri.bitplan.com/sonstiges/icons/{{{size|48}}}x{{{size|48}}}/{{{style|shadow}}}/{{{name|question_and_answer}}}.png'>
</pre>
[[Category:Template]]</noinclude><includeonly>{{#switch:{{{storemode|}}}
|none=
|#default={{#subobject:Icon_name={{{name|question_and_answer}}}
|Icon style={{{style|shadow}}}
|Icon size={{{size|48}}}
}}}}http://capri.bitplan.com/sonstiges/icons/{{{size|48}}}x{{{size|48}}}/{{{style|shadow}}}/{{{name|question_and_answer}}}.png{{#switch:{{{viewmode|}}}
|editable={{Icon|name=edit|size=16}}{{Link|target=Special:FormEdit/Icon/{{FULLPAGENAME}}|title=edit}}}}</includeonly>
33308160fef1172ce6d93404a02d2b304bd1ddf7
Template:Slide
10
101
142
2015-11-05T19:46:07Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:46:06Z
wikitext
text/x-wiki
<noinclude>
This is the template {{Link|target=Template:Slide|title=Slide}}.
It belongs to the concept {{Link|target=:Category:Slide}}<br>
You may find examples for the use of this template via the {{Link|target=List of Slides}}.
=== Usage ===
==== viewmode plain ====
<pre>{{Slide
|title=test title
|pageno=test pageno
|pages=test pages
|next=test next
|prev=test prev
|presentation=test presentation
|viewmode=plain
}}
</pre>
{{Slide
|title=test title
|viewmode=plain
|pageno=test pageno
|viewmode=plain
|pages=test pages
|viewmode=plain
|next=test next
|viewmode=plain
|prev=test prev
|viewmode=plain
|presentation=test presentation
|viewmode=plain
}}
==== viewmode nice ====
<pre>{{Slide
|title=test title
|pageno=test pageno
|pages=test pages
|next=test next
|prev=test prev
|presentation=test presentation
|viewmode=nice
}}
</pre>
{{Slide
|title=test title
|viewmode=nice
|pageno=test pageno
|viewmode=nice
|pages=test pages
|viewmode=nice
|next=test next
|viewmode=nice
|prev=test prev
|viewmode=nice
|presentation=test presentation
|viewmode=nice
}}
==== viewmode master/detail ====
<pre>{{Slide
|title=test title
|pageno=test pageno
|pages=test pages
|next=test next
|prev=test prev
|presentation=test presentation
|viewmode=master/detail
}}
</pre>
{{Slide
|title=test title
|viewmode=master/detail
|pageno=test pageno
|viewmode=master/detail
|pages=test pages
|viewmode=master/detail
|next=test next
|viewmode=master/detail
|prev=test prev
|viewmode=master/detail
|presentation=test presentation
|viewmode=master/detail
}}
==== viewmode link ====
<pre>{{Slide
|title=test title
|pageno=test pageno
|pages=test pages
|next=test next
|prev=test prev
|presentation=test presentation
|viewmode=link
}}
</pre>
{{Slide
|title=test title
|viewmode=link
|pageno=test pageno
|viewmode=link
|pages=test pages
|viewmode=link
|next=test next
|viewmode=link
|prev=test prev
|viewmode=link
|presentation=test presentation
|viewmode=link
}}
==== viewmode editable ====
<pre>{{Slide
|title=test title
|pageno=test pageno
|pages=test pages
|next=test next
|prev=test prev
|presentation=test presentation
|viewmode=editable
}}
</pre>
{{Slide
|title=test title
|viewmode=editable
|pageno=test pageno
|viewmode=editable
|pages=test pages
|viewmode=editable
|next=test next
|viewmode=editable
|prev=test prev
|viewmode=editable
|presentation=test presentation
|viewmode=editable
}}
=== Source ===
<source lang='html4strict'>
<!--
This is a "pretty printed" version of the template source code
due to MediaWiki's way of handling whitespace in templates the original source code can not be nicely
indented and looks somewhat "ugly". Unfortunately you should therefore not cut&paste this pretty printed version between
the <includeonly></includeonly> tag pair,
parameters may be either positional or by name
define named variables to normalize this
-->
{{#if:{{{1|}}}
|{{#vardefine:title|{{{1|}}}}}
|{{#vardefine:title|{{{title|}}}}}
}}{{#if:{{{2|}}}
|{{#vardefine:pageno|{{{2|}}}}}
|{{#vardefine:pageno|{{{pageno|}}}}}
}}{{#if:{{{3|}}}
|{{#vardefine:pages|{{{3|}}}}}
|{{#vardefine:pages|{{{pages|}}}}}
}}{{#if:{{{4|}}}
|{{#vardefine:next|{{{4|}}}}}
|{{#vardefine:next|{{{next|}}}}}
}}{{#if:{{{5|}}}
|{{#vardefine:prev|{{{5|}}}}}
|{{#vardefine:prev|{{{prev|}}}}}
}}{{#if:{{{6|}}}
|{{#vardefine:presentation|{{{6|}}}}}
|{{#vardefine:presentation|{{{presentation|}}}}}
}}
<!--
set the semantic properties from the named variables
each property having the same name as the variable with the concept name as a prefix
-->
{{#set:
|Slide title={{#var:title}}
|Slide pageno={{#var:pageno}}
|Slide pages={{#var:pages}}
|Slide next={{#var:next}}
|Slide prev={{#var:prev}}
|Slide presentation={{#var:presentation}}
}}
<!--
this is almost the same table that the Page Schemas extension would generate except
the pipe symbols are escaped to allow the addition of further template logic with
e.g. parser functions
-->
{{{!}} class="wikitable"
!title
{{!}}{{#var:title}}
{{!}}-
!#
{{!}}{{#var:pageno}}
{{!}}-
!##
{{!}}{{#var:pages}}
{{!}}-
!next
{{!}}{{#var:next}}
{{!}}-
!prev
{{!}}{{#var:prev}}
{{!}}-
!presentation
{{!}}{{#var:presentation}}
{{!}}-
{{!}}}
<!--
add an edit icon to not have to move the mouse so far for editing
-->
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Slide/{{FULLPAGENAME}}|title=edit this Slide}}<br>
<!--
add the category
-->
[[Category:Slide]]
</source>
Click on "Edit" to edit the Source of this Template.</noinclude><includeonly>{{#if:{{{1|}}}
|{{#vardefine:title|{{{1|}}}}}
|{{#vardefine:title|{{{title|}}}}}
}}{{#if:{{{2|}}}
|{{#vardefine:pageno|{{{2|}}}}}
|{{#vardefine:pageno|{{{pageno|}}}}}
}}{{#if:{{{3|}}}
|{{#vardefine:pages|{{{3|}}}}}
|{{#vardefine:pages|{{{pages|}}}}}
}}{{#if:{{{4|}}}
|{{#vardefine:next|{{{4|}}}}}
|{{#vardefine:next|{{{next|}}}}}
}}{{#if:{{{5|}}}
|{{#vardefine:prev|{{{5|}}}}}
|{{#vardefine:prev|{{{prev|}}}}}
}}{{#if:{{{6|}}}
|{{#vardefine:presentation|{{{6|}}}}}
|{{#vardefine:presentation|{{{presentation|}}}}}
}}{{#set:
|Slide title={{#var:title}}
|Slide pageno={{#var:pageno}}
|Slide pages={{#var:pages}}
|Slide next={{#var:next}}
|Slide prev={{#var:prev}}
|Slide presentation={{#var:presentation}}
}}{{{!}} class="wikitable"
!title
{{!}}{{#var:title}}
{{!}}-
!#
{{!}}{{#var:pageno}}
{{!}}-
!##
{{!}}{{#var:pages}}
{{!}}-
!next
{{!}}{{#var:next}}
{{!}}-
!prev
{{!}}{{#var:prev}}
{{!}}-
!presentation
{{!}}{{#var:presentation}}
{{!}}-
{{!}}}
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Slide/{{FULLPAGENAME}}|title=edit this Slide}}<br>
[[Category:Slide]]
</includeonly>
37df283bcfd126e903a70692c51fecf4721a01b8
Template:Presentation
10
102
143
2015-11-05T19:46:09Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:46:08Z
wikitext
text/x-wiki
<noinclude>
This is the template {{Link|target=Template:Presentation|title=Presentation}}.
It belongs to the concept {{Link|target=:Category:Presentation}}<br>
You may find examples for the use of this template via the {{Link|target=List of Presentations}}.
=== Usage ===
==== viewmode plain ====
<pre>{{Presentation
|title=test title
|author=test author
|start=test start
|noofpages=test noofpages
|viewmode=plain
}}
</pre>
{{Presentation
|title=test title
|viewmode=plain
|author=test author
|viewmode=plain
|start=test start
|viewmode=plain
|noofpages=test noofpages
|viewmode=plain
}}
==== viewmode nice ====
<pre>{{Presentation
|title=test title
|author=test author
|start=test start
|noofpages=test noofpages
|viewmode=nice
}}
</pre>
{{Presentation
|title=test title
|viewmode=nice
|author=test author
|viewmode=nice
|start=test start
|viewmode=nice
|noofpages=test noofpages
|viewmode=nice
}}
==== viewmode master/detail ====
<pre>{{Presentation
|title=test title
|author=test author
|start=test start
|noofpages=test noofpages
|viewmode=master/detail
}}
</pre>
{{Presentation
|title=test title
|viewmode=master/detail
|author=test author
|viewmode=master/detail
|start=test start
|viewmode=master/detail
|noofpages=test noofpages
|viewmode=master/detail
}}
==== viewmode link ====
<pre>{{Presentation
|title=test title
|author=test author
|start=test start
|noofpages=test noofpages
|viewmode=link
}}
</pre>
{{Presentation
|title=test title
|viewmode=link
|author=test author
|viewmode=link
|start=test start
|viewmode=link
|noofpages=test noofpages
|viewmode=link
}}
==== viewmode editable ====
<pre>{{Presentation
|title=test title
|author=test author
|start=test start
|noofpages=test noofpages
|viewmode=editable
}}
</pre>
{{Presentation
|title=test title
|viewmode=editable
|author=test author
|viewmode=editable
|start=test start
|viewmode=editable
|noofpages=test noofpages
|viewmode=editable
}}
=== Source ===
<source lang='html4strict'>
<!--
This is a "pretty printed" version of the template source code
due to MediaWiki's way of handling whitespace in templates the original source code can not be nicely
indented and looks somewhat "ugly". Unfortunately you should therefore not cut&paste this pretty printed version between
the <includeonly></includeonly> tag pair,
parameters may be either positional or by name
define named variables to normalize this
-->
{{#if:{{{1|}}}
|{{#vardefine:title|{{{1|}}}}}
|{{#vardefine:title|{{{title|}}}}}
}}{{#if:{{{2|}}}
|{{#vardefine:author|{{{2|}}}}}
|{{#vardefine:author|{{{author|}}}}}
}}{{#if:{{{3|}}}
|{{#vardefine:start|{{{3|}}}}}
|{{#vardefine:start|{{{start|}}}}}
}}{{#if:{{{4|}}}
|{{#vardefine:noofpages|{{{4|}}}}}
|{{#vardefine:noofpages|{{{noofpages|}}}}}
}}
<!--
set the semantic properties from the named variables
each property having the same name as the variable with the concept name as a prefix
-->
{{#set:
|Presentation title={{#var:title}}
|Presentation author={{#var:author}}
|Presentation start={{#var:start}}
|Presentation noofpages={{#var:noofpages}}
}}
<!--
this is almost the same table that the Page Schemas extension would generate except
the pipe symbols are escaped to allow the addition of further template logic with
e.g. parser functions
-->
{{{!}} class="wikitable"
!title
{{!}}[[Presentation title::{{{title|}}}]]
{{!}}-
!author
{{!}}[[Presentation author::{{{author|}}}]]
{{!}}-
!start
{{!}}[[Presentation start::{{{start|}}}]]
{{!}}-
!# of pages
{{!}}[[Presentation noofpages::{{{noofpages|}}}]]
{{!}}-
{{!}}}
<!--
add an edit icon to not have to move the mouse so far for editing
-->
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Presentation/{{FULLPAGENAME}}|title=edit this Presentation}}<br>
<!--
add the category
-->
[[Category:Presentation]]
</source>
Click on "Edit" to edit the Source of this Template.</noinclude><includeonly>{{#if:{{{1|}}}
|{{#vardefine:title|{{{1|}}}}}
|{{#vardefine:title|{{{title|}}}}}
}}{{#if:{{{2|}}}
|{{#vardefine:author|{{{2|}}}}}
|{{#vardefine:author|{{{author|}}}}}
}}{{#if:{{{3|}}}
|{{#vardefine:start|{{{3|}}}}}
|{{#vardefine:start|{{{start|}}}}}
}}{{#if:{{{4|}}}
|{{#vardefine:noofpages|{{{4|}}}}}
|{{#vardefine:noofpages|{{{noofpages|}}}}}
}}{{#set:
|Presentation title={{#var:title}}
|Presentation author={{#var:author}}
|Presentation start={{#var:start}}
|Presentation noofpages={{#ask: [[Concept:Slide]] [[Slide_presentation::{{FULLPAGENAME}}]]
|format=count
}}
}}{{{!}} class="wikitable"
!title
{{!}}[[Presentation title::{{{title|}}}]]
{{!}}-
!author
{{!}}[[Presentation author::{{{author|}}}]]
{{!}}-
!start
{{!}}[[Presentation start::{{{start|}}}]]
{{!}}-
!# of pages
{{!}}[[Presentation noofpages::{{{noofpages|}}}]]
{{!}}-
{{!}}}
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Presentation/{{FULLPAGENAME}}|title=edit this Presentation}}<br>
{{#if:{{{title|}}}|
=== Slides ===
{{#ask: [[Concept:Slide]] [[Slide_presentation::{{FULLPAGENAME}}]]
| ?Slide_title
| ?Slide_pageno
| ?Slide_pages
| ?Slide_next
| ?Slide_prev
| sort=Slide_pageno
}}
Numer of slides in this presentation:
{{#ask: [[Concept:Slide]] [[Slide_presentation::{{FULLPAGENAME}}]]
|format=count
}}
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Slide/|title=create a new slide for this presentation this Slide one step }}<br>
{{Icon|name=edit|size=24}}{{#forminput:form=Slide|button text=create a new Slide two step}}<br>
}}
[[Category:Presentation]]
</includeonly>
c6c7f1e75ef18a40311a3a2298e7b63187288b59
Template:PageSequence
10
103
144
2015-11-05T19:46:11Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:46:10Z
wikitext
text/x-wiki
<noinclude>
__NOCACHE__
This is the PageSequence template it allows for prev/next style page sequences to displayed with icons. See [[Template:Icon]]
<pre>
{{PageSequence
|prev=
|next=
}}
</pre>
=== example ===
<pre>
{{PageSequence|prev=|next=Universal_Password_Manager_installation|category=Installationsanleitung|categoryIcon=box_software}}
</pre>
{{PageSequence|prev=|next=Universal_Password_Manager_installation|category=Installationsanleitung|categoryIcon=box_software}}
<pre>
{{PageSequence
|prev=Vorlage:Icon
|next=Vorlage:Link
|category=Template
|categoryIcon=documents_new
}}
</pre>
{{PageSequence
|prev=Vorlage:Icon
|next=Vorlage:Link
|category=Template
|categoryIcon=documents_new
}}
<pre>
{{PageSequence|prev=Workdocumentation 2015-03-02|next=Workdocumentation 2015-03-04|category=Workdocumentation|categoryIcon=notebook_preferences}}
</pre>
{{PageSequence|prev=Workdocumentation 2015-03-02|next=Workdocumentation 2015-03-04|category=Workdocumentation|categoryIcon=notebook_preferences}}
[[Category:Template]]
</noinclude><includeonly>{{#set:
|PageSequence next={{{next|}}}
|PageSequence prev={{{prev|}}}
|PageSequence category={{{category|}}}
|PageSequence categoryIcon={{{categoryIcon|}}}
}}
<div style="display:table;border-collapse: collapse;"><div style="display: table-row;">
<div style="display: table-cell; vertical-align: middle">{{#if: {{{prev|}}}|
{{#ifexist: {{{prev}}}
|<imgLink img='{{Icon|name=nav_left_blue|title=previous}}'>{{{prev|}}}</imgLink>
|<imgLink img='{{Icon|name=nav_left_red|title=previous}}'>{{{prev|}}}</imgLink>}}
}}
</div>
<div style="display: table-cell;">
<div style="display: table-row;">{{#if: {{{categoryIcon|}}}
|<imgLink img='{{Icon|name={{{categoryIcon|}}}|title={{{category|}}}}}'>:Category:{{{category|}}}</imgLink>
}}
</div>
<div style="display: table-row;">{{Icon|name=edit|size=16}}{{Link|target=Special:FormEdit/PageSequence/{{FULLPAGENAME}}|title=edit}}</div>
</div>
<div style="display: table-cell; vertical-align: middle">{{#if: {{{next|}}}
|{{#ifexist: {{{next}}}
|<imgLink img='{{Icon|name=nav_right_blue|title=next}}'>{{{next|}}}</imgLink>
|<imgLink img='{{Icon|name=nav_right_red|title=next}}'>{{{next|}}}</imgLink>
}}
}}
</div>
</div></div>{{#if: {{{category|}}}
|[[Category:{{{category|}}}]]
}}</includeonly>
36e0e8317e91c6f9b68944bcd21c79b2d3284e63
Template:WorkSequence
10
104
145
2015-11-05T19:46:12Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:46:11Z
wikitext
text/x-wiki
{{PageSequence|prev={{{prev|}}}|next={{{next|}}}|category=Workdocumentation|categoryIcon=notebook_preferences}}
e2b7092f105757aee5c69ee88a77f2c178104411
Template:ContextWikitask
10
105
146
2015-11-05T19:46:14Z
Wf
1
transfered by WikiBackup wikiTask at 2015-11-05T19:46:13Z
wikitext
text/x-wiki
<noinclude>
This is the Template for the wikiTasks to generate Semantic Media Wiki related wiki pages for a Context
[[Category:Template]]
=== usage ===
<pre>
{{ContextWikitask
|context=
}}
</pre>
==== Examples ====
<pre>
{{ContextWikitask
|context=Presentation
}}
</pre>
{{ContextWikitask
|context=Presentation
}}
</noinclude><includeonly>
{{wikitask|cmd=login|input={{urlencode:{{#realname:Visitor}}}}}}<br>
{{wikitask|cmd=reset}}<br>
*{{Link|target=Template:Wikitask}}
*{{Link|target=TopicGenerator}}
*{{Link|target=SiDIFTemplates}}
{| class='wikitable sortable'
!dialog smw
!dialog sidif
!no dialog smw
!no dialog sidif
|-
| {{wikitask|cmd=runtemplate|engine=Rythm|input=sidif|dialog=TopicGenerator#dialog|template=TopicGenerator#template|params=tripleStoreMode:SMW,contextName:{{{context|}}}|targetpage=TopicGenerator2015/{{{context|}}}}}
| {{wikitask|cmd=runtemplate|engine=Rythm|input=sidif|dialog=TopicGenerator#dialog|template=TopicGenerator#template|params=sidifInput:{{FULLPAGENAME}}#sidif,contextName:{{{context|}}}|targetpage=TopicGenerator2015/{{{context|}}}}}
|{{wikitask|cmd=runtemplate|engine=Rythm|input=sidif|template=TopicGenerator#template|params=tripleStoreMode:SMW,contextName:{{{context|}}}|targetpage=TopicGenerator2015/{{{context|}}}}}
|{{wikitask|cmd=runtemplate|engine=Rythm|input=sidif|template=TopicGenerator#template|params=sidifInput:{{FULLPAGENAME}}#sidif,contextName:{{{context|}}}|targetpage=TopicGenerator2015/{{{context|}}}}}
|}
</includeonly>
39bcd31bfa334493c3b7ea115db5fb7099369fa6
Category:Context
14
106
147
2015-11-06T06:45:09Z
Wf
1
created by WikiTask 2015-11-06T06:45:07Z
wikitext
text/x-wiki
__NOTOC__
{{#ask: [[Topic name::Context]] | ?Topic wikiDocumentation= | mainlabel=-}}
Contexts may be added and edited with the form [[has default form::Context]]
* [[List of Contexts]]
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
Context description
<div class="mw-collapsible-content">
=== uml ===
<uml>
title Context
note as ContextDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as ContextNote
A Context groups some topics like a Namespace/Package
end note
class Context {
Text name
}
ContextNote .. Context
Context "context (1)" -- "topics(*)" Topic
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
* [[Help:Context]]
* [[Concept:Context]]
* [[:Template:Context]]
* [[:Form:Context]]
=== Properties ===
* [[Property:Context name]]
</div>
</div>
13d0056c4cc2e00b0d14400ef7ac26fc01bee5ae
List of Contexts
0
107
148
2015-11-06T06:45:13Z
Wf
1
created by WikiTask 2015-11-06T06:45:12Z
wikitext
text/x-wiki
__NOCACHE__
{{#ask: [[Topic name::Context]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
== Contexts ==
{{#ask: [[Concept:Context]]
| ?Context name = name
}}
{{#forminput:form=Context|button text=add Context}}
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
=== SiDIF ===
<div class="mw-collapsible-content">
{{#ask: [[Concept:Context]]
| ?#=pageid
| ?Context name = name
| mainlabel=-
| format=template
| named args=yes
| template=Context
| userparam=sidif
| limit=300
}}
</div>
</div>
[[:Category:Context]]
2a5dd1139fb25b2ff4ab982cbdbf6ee4c6a71db1
Help:Context
12
108
149
2015-11-06T06:45:17Z
Wf
1
created by WikiTask 2015-11-06T06:45:15Z
wikitext
text/x-wiki
== Help for Context ==
{{#ask: [[Topic name::Context]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
=== Documentation ===
A Context groups some topics like a Namespace/Package
=== Example Contexts ===
{{#ask: [[Concept:Context]]
}}
=== Properties ===
{{#ask: [[Concept:Property]][[Property topic::Concept:Context]]
| ?Property documentation = documentation
| ?Property type = type
| ?Property name = name
| ?Property label = label
| ?Property allowedValues = allowedValues
| ?Property mandatory = mandatory
| ?Property uploadable = uploadable
|format=table
}}
=== uml ===
<uml>
title Context
note as ContextDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as ContextNote
A Context groups some topics like a Namespace/Package
end note
class Context {
Text name
}
ContextNote .. Context
Context "context (1)" -- "topics(*)" Topic
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
see also
* [[List of Contexts]]
* [[Help:Context]]
* [[Concept:Context]]
* [[:Category:Context]]
* [[:Template:Context]]
* [[:Form:Context]]
topic links:
* [[:Category:Topic]]
[[Category:Context]]
1635d0d02822968170de4a45767374d845e93d16
Form:Context
106
109
150
2015-11-06T06:45:21Z
Wf
1
created by WikiTask 2015-11-06T06:45:20Z
wikitext
text/x-wiki
<noinclude>
This is the {{smartMediaWiki}}-Form for "Context".
Create a new Context by entering a new pagename for a Context
into the field below.
If you enter an existing Context pagename - you will edit the Context
with that pagename.
{{#forminput:form=Context|values from concept=Context}}
</noinclude><includeonly>
<div id="wikiPreview" style="display: none; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #AAAAAA;"></div>
<!-- Context -->
{{{for template|Context}}}
{| class="wikitable"
! colspan='2'| Context
|-
! name:
<!-- Text name -->
| {{{field|name|input type=|property=Context name|size=80|mandatory}}}
|-
|}
{{{field|storemode|default=property|hidden}}}
{{{end template}}}
<!-- Context -->
'''Freitext:'''
{{{standard input|free text|rows=10}}}
{{{standard input|summary}}}
{{{standard input|minor edit}}} {{{standard input|watch}}}
{{{standard input|save}}} {{{standard input|preview}}} {{{standard input|changes}}} {{{standard input|cancel}}}
</includeonly>
d27f3c30e2a9d3efe55a4c498b7b408aec9da987
Template:Context
10
110
151
2015-11-06T06:45:24Z
Wf
1
created by WikiTask 2015-11-06T06:45:23Z
wikitext
text/x-wiki
<noinclude>
<!--
-- Copyright (C) 2015 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->
This is the template {{Link|target=Template:Context|title=Context}}.
It belongs to the concept/topic {{Link|target=:Concept:Context}}<br>
You may find examples for the use of this template via the {{Link|target=List of Contexts}}.
=== Usage ===
==== storemode subobject ====
<pre>{{Context
|name=
|storemode=subobject
}}
</pre>
==== storemode property ====
<pre>{{Context
|name=
|storemode=property
}}
</pre>
==== storemode none ====
<pre>{{Context
|name=
|storemode=none
}}
</pre>
==== viewmode tableheader ====
<pre>{{Context
|name=
|viewmode=tableheader
}}
</pre>
==== viewmode tablerow ====
<pre>{{Context
|name=
|viewmode=tablerow
}}
</pre>
==== viewmode tablefooter ====
<pre>{{Context
|name=
|viewmode=tablefooter
}}
</pre>
==== viewmode labelfield ====
<pre>{{Context
|name=
|viewmode=labelfield
}}
</pre>
=== Source ===
<source lang='html4strict'>
{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Context<br>|}}
{{#if:{{{?name|}}}|"{{{?name}}}" is name of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|{{#set:
|isA=Context
|Context name={{{name|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
=== topics ===
{{#ask:[[Concept:Topic]][[Topic context::{{FULLPAGENAME}}]]
| ?Topic name = name
| ?Topic pluralName = pluralName
| ?Topic icon = icon
| ?Topic iconUrl = iconUrl
| ?Topic documentation = documentation
| ?Topic wikiDocumentation = wikiDocumentation
| ?Topic defaultstoremode = defaultstoremode
| ?Topic listLimit = listLimit
| ?Topic cargo = cargo
| ?Topic context = context
}}
|tableheader={{{!}} class='wikitable'
!name
{{!}}-
|tablerow=
{{!}}{{{name|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
name={{#if:{{{name|}}}|{{{name|}}}|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Context
{{!}}-
!name
{{!}} {{#if:{{{name|}}}|{{{name|}}}|}}
{{!}}-
{{!}}}
}}
}}
[[Category:Context]]
</source>
Click on "Edit" to edit the Source of this Template.
</noinclude><includeonly>{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Context<br>|}}
{{#if:{{{?name|}}}|"{{{?name}}}" is name of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|{{#set:
|isA=Context
|Context name={{{name|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
=== topics ===
{{#ask:[[Concept:Topic]][[Topic context::{{FULLPAGENAME}}]]
| ?Topic name = name
| ?Topic pluralName = pluralName
| ?Topic icon = icon
| ?Topic iconUrl = iconUrl
| ?Topic documentation = documentation
| ?Topic wikiDocumentation = wikiDocumentation
| ?Topic defaultstoremode = defaultstoremode
| ?Topic listLimit = listLimit
| ?Topic cargo = cargo
| ?Topic context = context
}}
|tableheader={{{!}} class='wikitable'
!name
{{!}}-
|tablerow=
{{!}}{{{name|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
name={{#if:{{{name|}}}|{{{name|}}}|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Context
{{!}}-
!name
{{!}} {{#if:{{{name|}}}|{{{name|}}}|}}
{{!}}-
{{!}}}
}}
}}
[[Category:Context]]</includeonly>
50c999b6cbfc0965af6d41d063bc97b3c72ee007
Concept:Context/Java
108
111
152
2015-11-06T06:45:28Z
Wf
1
created by WikiTask 2015-11-06T06:45:27Z
wikitext
text/x-wiki
=== java code ===
<source lang='java' id='javacode'>@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@def static {
/**
* Base class
*/
static abstract class TopicBase {
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
/**
* Context
* A Context groups some topics like a Namespace/Package
*/
public static class Context extends TopicBase {
public String pageid;
public String name;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
/**
* convert this Context to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Context
*/
public Context() {}
/**
* construct a Context from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pContextTriple - the triple to construct me from
*/
public Context(TripleQuery query,Triple pContextTriple) {
this(query,pContextTriple.getSubject().toString());
} // constructor
/**
* construct a Context from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Context(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Context_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
init(query);
} // constructor for Context
// >>>{user defined topic code}{Context}{Context}
// <<<{user defined topic code}{Context}{Context}
} // class Context
/**
* Manager for Context
*/
public static class ContextManager extends TopicBase {
public String topicName="Context";
public transient List<Context> mContexts=new ArrayList<Context>();
public transient Map<String,Context> mContextMap=new LinkedHashMap<String,Context>();
/**
* get my Contexts
*/
public List<Context> getContexts() {
List<Context> result=this.mContexts;
return result;
}
/**
* add a new Context
*/
public Context add(Context pContext) {
mContexts.add(pContext);
mContextMap.put(pContext.getPageid(),pContext);
return pContext;
}
/**
* add a new Context from the given triple
*/
public Context add(TripleQuery query,Triple pContextTriple) {
Context lContext=new Context(query,pContextTriple);
add(lContext);
return lContext;
}
// reinitialize my mContext map
public void reinit() {
mContextMap.clear();
for (Context lContext:mContexts) {
mContextMap.put(lContext.getPageid(),lContext);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static ContextManager fromJson(String json) {
ContextManager result=JSON.parseObject(json, ContextManager.class);
result.reinit();
return result;
}
// default constructor
public ContextManager() {}
// construct me from the given triple Query query
public ContextManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lContextQuery=query.query(null,"isA","Context");
for (Triple lContextTriple:lContextQuery.getTriples()) {
add(query,lContextTriple);
}
// then the SMW triplestore
lContextQuery=query.query(null,"Property:IsA","Context");
for (Triple lContextTriple:lContextQuery.getTriples()) {
add(query,lContextTriple);
}
init(query);
} // constructor for Context Manager
// >>>{user defined topicmanager code}{Context}{Context}
// <<<{user defined topicmanager code}{Context}{Context}
} // class Context Manager
/**
* Property
* a Property is a Feature/Attribute of a Topic
*/
public static class Property extends TopicBase {
public String pageid;
public String name;
public String label;
public String type;
public String index;
public String sortPos;
public String primaryKey;
public String mandatory;
public String namespace;
public String size;
public String uploadable;
public String defaultValue;
public String inputType;
public String allowedValues;
public String documentation;
public String values_from;
public String showInGrid;
public String isLink;
public String nullable;
public String topic;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getLabel() { return label; }
public void setLabel(String pLabel) { label=pLabel; }
public String getType() { return type; }
public void setType(String pType) { type=pType; }
public String getIndex() { return index; }
public void setIndex(String pIndex) { index=pIndex; }
public String getSortPos() { return sortPos; }
public void setSortPos(String pSortPos) { sortPos=pSortPos; }
public String getPrimaryKey() { return primaryKey; }
public void setPrimaryKey(String pPrimaryKey) { primaryKey=pPrimaryKey; }
public String getMandatory() { return mandatory; }
public void setMandatory(String pMandatory) { mandatory=pMandatory; }
public String getNamespace() { return namespace; }
public void setNamespace(String pNamespace) { namespace=pNamespace; }
public String getSize() { return size; }
public void setSize(String pSize) { size=pSize; }
public String getUploadable() { return uploadable; }
public void setUploadable(String pUploadable) { uploadable=pUploadable; }
public String getDefaultValue() { return defaultValue; }
public void setDefaultValue(String pDefaultValue) { defaultValue=pDefaultValue; }
public String getInputType() { return inputType; }
public void setInputType(String pInputType) { inputType=pInputType; }
public String getAllowedValues() { return allowedValues; }
public void setAllowedValues(String pAllowedValues) { allowedValues=pAllowedValues; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getValues_from() { return values_from; }
public void setValues_from(String pValues_from) { values_from=pValues_from; }
public String getShowInGrid() { return showInGrid; }
public void setShowInGrid(String pShowInGrid) { showInGrid=pShowInGrid; }
public String getIsLink() { return isLink; }
public void setIsLink(String pIsLink) { isLink=pIsLink; }
public String getNullable() { return nullable; }
public void setNullable(String pNullable) { nullable=pNullable; }
public String getTopic() { return topic; }
public void setTopic(String pTopic) { topic=pTopic; }
/**
* convert this Property to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Property
*/
public Property() {}
/**
* construct a Property from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pPropertyTriple - the triple to construct me from
*/
public Property(TripleQuery query,Triple pPropertyTriple) {
this(query,pPropertyTriple.getSubject().toString());
} // constructor
/**
* construct a Property from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Property(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Property_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple labelTriple=query.selectSingle(pageid,"label",null);
if (labelTriple==null)
labelTriple=query.selectSingle(pageid,"Property:Property_label",null);
if (labelTriple!=null)
label=labelTriple.getObject().toString();
Triple typeTriple=query.selectSingle(pageid,"type",null);
if (typeTriple==null)
typeTriple=query.selectSingle(pageid,"Property:Property_type",null);
if (typeTriple!=null)
type=typeTriple.getObject().toString();
Triple indexTriple=query.selectSingle(pageid,"index",null);
if (indexTriple==null)
indexTriple=query.selectSingle(pageid,"Property:Property_index",null);
if (indexTriple!=null)
index=indexTriple.getObject().toString();
Triple sortPosTriple=query.selectSingle(pageid,"sortPos",null);
if (sortPosTriple==null)
sortPosTriple=query.selectSingle(pageid,"Property:Property_sortPos",null);
if (sortPosTriple!=null)
sortPos=sortPosTriple.getObject().toString();
Triple primaryKeyTriple=query.selectSingle(pageid,"primaryKey",null);
if (primaryKeyTriple==null)
primaryKeyTriple=query.selectSingle(pageid,"Property:Property_primaryKey",null);
if (primaryKeyTriple!=null)
primaryKey=primaryKeyTriple.getObject().toString();
Triple mandatoryTriple=query.selectSingle(pageid,"mandatory",null);
if (mandatoryTriple==null)
mandatoryTriple=query.selectSingle(pageid,"Property:Property_mandatory",null);
if (mandatoryTriple!=null)
mandatory=mandatoryTriple.getObject().toString();
Triple namespaceTriple=query.selectSingle(pageid,"namespace",null);
if (namespaceTriple==null)
namespaceTriple=query.selectSingle(pageid,"Property:Property_namespace",null);
if (namespaceTriple!=null)
namespace=namespaceTriple.getObject().toString();
Triple sizeTriple=query.selectSingle(pageid,"size",null);
if (sizeTriple==null)
sizeTriple=query.selectSingle(pageid,"Property:Property_size",null);
if (sizeTriple!=null)
size=sizeTriple.getObject().toString();
Triple uploadableTriple=query.selectSingle(pageid,"uploadable",null);
if (uploadableTriple==null)
uploadableTriple=query.selectSingle(pageid,"Property:Property_uploadable",null);
if (uploadableTriple!=null)
uploadable=uploadableTriple.getObject().toString();
Triple defaultValueTriple=query.selectSingle(pageid,"defaultValue",null);
if (defaultValueTriple==null)
defaultValueTriple=query.selectSingle(pageid,"Property:Property_defaultValue",null);
if (defaultValueTriple!=null)
defaultValue=defaultValueTriple.getObject().toString();
Triple inputTypeTriple=query.selectSingle(pageid,"inputType",null);
if (inputTypeTriple==null)
inputTypeTriple=query.selectSingle(pageid,"Property:Property_inputType",null);
if (inputTypeTriple!=null)
inputType=inputTypeTriple.getObject().toString();
Triple allowedValuesTriple=query.selectSingle(pageid,"allowedValues",null);
if (allowedValuesTriple==null)
allowedValuesTriple=query.selectSingle(pageid,"Property:Property_allowedValues",null);
if (allowedValuesTriple!=null)
allowedValues=allowedValuesTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Property_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple values_fromTriple=query.selectSingle(pageid,"values_from",null);
if (values_fromTriple==null)
values_fromTriple=query.selectSingle(pageid,"Property:Property_values_from",null);
if (values_fromTriple!=null)
values_from=values_fromTriple.getObject().toString();
Triple showInGridTriple=query.selectSingle(pageid,"showInGrid",null);
if (showInGridTriple==null)
showInGridTriple=query.selectSingle(pageid,"Property:Property_showInGrid",null);
if (showInGridTriple!=null)
showInGrid=showInGridTriple.getObject().toString();
Triple isLinkTriple=query.selectSingle(pageid,"isLink",null);
if (isLinkTriple==null)
isLinkTriple=query.selectSingle(pageid,"Property:Property_isLink",null);
if (isLinkTriple!=null)
isLink=isLinkTriple.getObject().toString();
Triple nullableTriple=query.selectSingle(pageid,"nullable",null);
if (nullableTriple==null)
nullableTriple=query.selectSingle(pageid,"Property:Property_nullable",null);
if (nullableTriple!=null)
nullable=nullableTriple.getObject().toString();
Triple topicTriple=query.selectSingle(pageid,"topic",null);
if (topicTriple==null)
topicTriple=query.selectSingle(pageid,"Property:Property_topic",null);
if (topicTriple!=null)
topic=topicTriple.getObject().toString();
init(query);
} // constructor for Property
// >>>{user defined topic code}{Property}{Property}
// <<<{user defined topic code}{Property}{Property}
} // class Property
/**
* Manager for Property
*/
public static class PropertyManager extends TopicBase {
public String topicName="Property";
public transient List<Property> mPropertys=new ArrayList<Property>();
public transient Map<String,Property> mPropertyMap=new LinkedHashMap<String,Property>();
/**
* get my Properties
*/
public List<Property> getProperties() {
List<Property> result=this.mPropertys;
return result;
}
/**
* add a new Property
*/
public Property add(Property pProperty) {
mPropertys.add(pProperty);
mPropertyMap.put(pProperty.getPageid(),pProperty);
return pProperty;
}
/**
* add a new Property from the given triple
*/
public Property add(TripleQuery query,Triple pPropertyTriple) {
Property lProperty=new Property(query,pPropertyTriple);
add(lProperty);
return lProperty;
}
// reinitialize my mProperty map
public void reinit() {
mPropertyMap.clear();
for (Property lProperty:mPropertys) {
mPropertyMap.put(lProperty.getPageid(),lProperty);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static PropertyManager fromJson(String json) {
PropertyManager result=JSON.parseObject(json, PropertyManager.class);
result.reinit();
return result;
}
// default constructor
public PropertyManager() {}
// construct me from the given triple Query query
public PropertyManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lPropertyQuery=query.query(null,"isA","Property");
for (Triple lPropertyTriple:lPropertyQuery.getTriples()) {
add(query,lPropertyTriple);
}
// then the SMW triplestore
lPropertyQuery=query.query(null,"Property:IsA","Property");
for (Triple lPropertyTriple:lPropertyQuery.getTriples()) {
add(query,lPropertyTriple);
}
init(query);
} // constructor for Property Manager
// >>>{user defined topicmanager code}{Property}{Property}
// <<<{user defined topicmanager code}{Property}{Property}
} // class Property Manager
/**
* SMW_Type
* an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
*/
public static class SMW_Type extends TopicBase {
public String pageid;
public String type;
public String documentation;
public String helppage;
public String typepage;
public String javaType;
public String usedByProperties;
public String getType() { return type; }
public void setType(String pType) { type=pType; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getHelppage() { return helppage; }
public void setHelppage(String pHelppage) { helppage=pHelppage; }
public String getTypepage() { return typepage; }
public void setTypepage(String pTypepage) { typepage=pTypepage; }
public String getJavaType() { return javaType; }
public void setJavaType(String pJavaType) { javaType=pJavaType; }
public String getUsedByProperties() { return usedByProperties; }
public void setUsedByProperties(String pUsedByProperties) { usedByProperties=pUsedByProperties; }
/**
* convert this SMW_Type to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for SMW_Type
*/
public SMW_Type() {}
/**
* construct a SMW_Type from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pSMW_TypeTriple - the triple to construct me from
*/
public SMW_Type(TripleQuery query,Triple pSMW_TypeTriple) {
this(query,pSMW_TypeTriple.getSubject().toString());
} // constructor
/**
* construct a SMW_Type from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public SMW_Type(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple typeTriple=query.selectSingle(pageid,"type",null);
if (typeTriple==null)
typeTriple=query.selectSingle(pageid,"Property:SMW_Type_type",null);
if (typeTriple!=null)
type=typeTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:SMW_Type_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple helppageTriple=query.selectSingle(pageid,"helppage",null);
if (helppageTriple==null)
helppageTriple=query.selectSingle(pageid,"Property:SMW_Type_helppage",null);
if (helppageTriple!=null)
helppage=helppageTriple.getObject().toString();
Triple typepageTriple=query.selectSingle(pageid,"typepage",null);
if (typepageTriple==null)
typepageTriple=query.selectSingle(pageid,"Property:SMW_Type_typepage",null);
if (typepageTriple!=null)
typepage=typepageTriple.getObject().toString();
Triple javaTypeTriple=query.selectSingle(pageid,"javaType",null);
if (javaTypeTriple==null)
javaTypeTriple=query.selectSingle(pageid,"Property:SMW_Type_javaType",null);
if (javaTypeTriple!=null)
javaType=javaTypeTriple.getObject().toString();
Triple usedByPropertiesTriple=query.selectSingle(pageid,"usedByProperties",null);
if (usedByPropertiesTriple==null)
usedByPropertiesTriple=query.selectSingle(pageid,"Property:SMW_Type_usedByProperties",null);
if (usedByPropertiesTriple!=null)
usedByProperties=usedByPropertiesTriple.getObject().toString();
init(query);
} // constructor for SMW_Type
// >>>{user defined topic code}{SMW_Type}{SMW_Type}
// <<<{user defined topic code}{SMW_Type}{SMW_Type}
} // class SMW_Type
/**
* Manager for SMW_Type
*/
public static class SMW_TypeManager extends TopicBase {
public String topicName="SMW_Type";
public transient List<SMW_Type> mSMW_Types=new ArrayList<SMW_Type>();
public transient Map<String,SMW_Type> mSMW_TypeMap=new LinkedHashMap<String,SMW_Type>();
/**
* get my SMW_Types
*/
public List<SMW_Type> getSMW_Types() {
List<SMW_Type> result=this.mSMW_Types;
return result;
}
/**
* add a new SMW_Type
*/
public SMW_Type add(SMW_Type pSMW_Type) {
mSMW_Types.add(pSMW_Type);
mSMW_TypeMap.put(pSMW_Type.getPageid(),pSMW_Type);
return pSMW_Type;
}
/**
* add a new SMW_Type from the given triple
*/
public SMW_Type add(TripleQuery query,Triple pSMW_TypeTriple) {
SMW_Type lSMW_Type=new SMW_Type(query,pSMW_TypeTriple);
add(lSMW_Type);
return lSMW_Type;
}
// reinitialize my mSMW_Type map
public void reinit() {
mSMW_TypeMap.clear();
for (SMW_Type lSMW_Type:mSMW_Types) {
mSMW_TypeMap.put(lSMW_Type.getPageid(),lSMW_Type);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static SMW_TypeManager fromJson(String json) {
SMW_TypeManager result=JSON.parseObject(json, SMW_TypeManager.class);
result.reinit();
return result;
}
// default constructor
public SMW_TypeManager() {}
// construct me from the given triple Query query
public SMW_TypeManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lSMW_TypeQuery=query.query(null,"isA","SMW_Type");
for (Triple lSMW_TypeTriple:lSMW_TypeQuery.getTriples()) {
add(query,lSMW_TypeTriple);
}
// then the SMW triplestore
lSMW_TypeQuery=query.query(null,"Property:IsA","SMW_Type");
for (Triple lSMW_TypeTriple:lSMW_TypeQuery.getTriples()) {
add(query,lSMW_TypeTriple);
}
init(query);
} // constructor for SMW_Type Manager
// >>>{user defined topicmanager code}{SMW_Type}{SMW_Type}
// <<<{user defined topicmanager code}{SMW_Type}{SMW_Type}
} // class SMW_Type Manager
/**
* Topic
* A Topic is a Concept/Class/Thing/Entity
*/
public static class Topic extends TopicBase {
public String pageid;
public String name;
public String pluralName;
public String icon;
public String iconUrl;
public String documentation;
public String wikiDocumentation;
public String defaultstoremode;
public String listLimit;
public String cargo;
public String context;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getPluralName() { return pluralName; }
public void setPluralName(String pPluralName) { pluralName=pPluralName; }
public String getIcon() { return icon; }
public void setIcon(String pIcon) { icon=pIcon; }
public String getIconUrl() { return iconUrl; }
public void setIconUrl(String pIconUrl) { iconUrl=pIconUrl; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getWikiDocumentation() { return wikiDocumentation; }
public void setWikiDocumentation(String pWikiDocumentation) { wikiDocumentation=pWikiDocumentation; }
public String getDefaultstoremode() { return defaultstoremode; }
public void setDefaultstoremode(String pDefaultstoremode) { defaultstoremode=pDefaultstoremode; }
public String getListLimit() { return listLimit; }
public void setListLimit(String pListLimit) { listLimit=pListLimit; }
public String getCargo() { return cargo; }
public void setCargo(String pCargo) { cargo=pCargo; }
public String getContext() { return context; }
public void setContext(String pContext) { context=pContext; }
/**
* convert this Topic to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Topic
*/
public Topic() {}
/**
* construct a Topic from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTopicTriple - the triple to construct me from
*/
public Topic(TripleQuery query,Triple pTopicTriple) {
this(query,pTopicTriple.getSubject().toString());
} // constructor
/**
* construct a Topic from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Topic(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Topic_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple pluralNameTriple=query.selectSingle(pageid,"pluralName",null);
if (pluralNameTriple==null)
pluralNameTriple=query.selectSingle(pageid,"Property:Topic_pluralName",null);
if (pluralNameTriple!=null)
pluralName=pluralNameTriple.getObject().toString();
Triple iconTriple=query.selectSingle(pageid,"icon",null);
if (iconTriple==null)
iconTriple=query.selectSingle(pageid,"Property:Topic_icon",null);
if (iconTriple!=null)
icon=iconTriple.getObject().toString();
Triple iconUrlTriple=query.selectSingle(pageid,"iconUrl",null);
if (iconUrlTriple==null)
iconUrlTriple=query.selectSingle(pageid,"Property:Topic_iconUrl",null);
if (iconUrlTriple!=null)
iconUrl=iconUrlTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Topic_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple wikiDocumentationTriple=query.selectSingle(pageid,"wikiDocumentation",null);
if (wikiDocumentationTriple==null)
wikiDocumentationTriple=query.selectSingle(pageid,"Property:Topic_wikiDocumentation",null);
if (wikiDocumentationTriple!=null)
wikiDocumentation=wikiDocumentationTriple.getObject().toString();
Triple defaultstoremodeTriple=query.selectSingle(pageid,"defaultstoremode",null);
if (defaultstoremodeTriple==null)
defaultstoremodeTriple=query.selectSingle(pageid,"Property:Topic_defaultstoremode",null);
if (defaultstoremodeTriple!=null)
defaultstoremode=defaultstoremodeTriple.getObject().toString();
Triple listLimitTriple=query.selectSingle(pageid,"listLimit",null);
if (listLimitTriple==null)
listLimitTriple=query.selectSingle(pageid,"Property:Topic_listLimit",null);
if (listLimitTriple!=null)
listLimit=listLimitTriple.getObject().toString();
Triple cargoTriple=query.selectSingle(pageid,"cargo",null);
if (cargoTriple==null)
cargoTriple=query.selectSingle(pageid,"Property:Topic_cargo",null);
if (cargoTriple!=null)
cargo=cargoTriple.getObject().toString();
Triple contextTriple=query.selectSingle(pageid,"context",null);
if (contextTriple==null)
contextTriple=query.selectSingle(pageid,"Property:Topic_context",null);
if (contextTriple!=null)
context=contextTriple.getObject().toString();
init(query);
} // constructor for Topic
// >>>{user defined topic code}{Topic}{Topic}
// <<<{user defined topic code}{Topic}{Topic}
} // class Topic
/**
* Manager for Topic
*/
public static class TopicManager extends TopicBase {
public String topicName="Topic";
public transient List<Topic> mTopics=new ArrayList<Topic>();
public transient Map<String,Topic> mTopicMap=new LinkedHashMap<String,Topic>();
/**
* get my Topics
*/
public List<Topic> getTopics() {
List<Topic> result=this.mTopics;
return result;
}
/**
* add a new Topic
*/
public Topic add(Topic pTopic) {
mTopics.add(pTopic);
mTopicMap.put(pTopic.getPageid(),pTopic);
return pTopic;
}
/**
* add a new Topic from the given triple
*/
public Topic add(TripleQuery query,Triple pTopicTriple) {
Topic lTopic=new Topic(query,pTopicTriple);
add(lTopic);
return lTopic;
}
// reinitialize my mTopic map
public void reinit() {
mTopicMap.clear();
for (Topic lTopic:mTopics) {
mTopicMap.put(lTopic.getPageid(),lTopic);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TopicManager fromJson(String json) {
TopicManager result=JSON.parseObject(json, TopicManager.class);
result.reinit();
return result;
}
// default constructor
public TopicManager() {}
// construct me from the given triple Query query
public TopicManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicQuery=query.query(null,"isA","Topic");
for (Triple lTopicTriple:lTopicQuery.getTriples()) {
add(query,lTopicTriple);
}
// then the SMW triplestore
lTopicQuery=query.query(null,"Property:IsA","Topic");
for (Triple lTopicTriple:lTopicQuery.getTriples()) {
add(query,lTopicTriple);
}
init(query);
} // constructor for Topic Manager
// >>>{user defined topicmanager code}{Topic}{Topic}
// <<<{user defined topicmanager code}{Topic}{Topic}
} // class Topic Manager
/**
* Action
*
*/
public static class Action extends TopicBase {
public String pageid;
public String servicetype;
public String service;
public String inputtype;
public String input;
public String actionpage;
public String output;
public String getServicetype() { return servicetype; }
public void setServicetype(String pServicetype) { servicetype=pServicetype; }
public String getService() { return service; }
public void setService(String pService) { service=pService; }
public String getInputtype() { return inputtype; }
public void setInputtype(String pInputtype) { inputtype=pInputtype; }
public String getInput() { return input; }
public void setInput(String pInput) { input=pInput; }
public String getActionpage() { return actionpage; }
public void setActionpage(String pActionpage) { actionpage=pActionpage; }
public String getOutput() { return output; }
public void setOutput(String pOutput) { output=pOutput; }
/**
* convert this Action to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Action
*/
public Action() {}
/**
* construct a Action from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pActionTriple - the triple to construct me from
*/
public Action(TripleQuery query,Triple pActionTriple) {
this(query,pActionTriple.getSubject().toString());
} // constructor
/**
* construct a Action from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Action(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple servicetypeTriple=query.selectSingle(pageid,"servicetype",null);
if (servicetypeTriple==null)
servicetypeTriple=query.selectSingle(pageid,"Property:Action_servicetype",null);
if (servicetypeTriple!=null)
servicetype=servicetypeTriple.getObject().toString();
Triple serviceTriple=query.selectSingle(pageid,"service",null);
if (serviceTriple==null)
serviceTriple=query.selectSingle(pageid,"Property:Action_service",null);
if (serviceTriple!=null)
service=serviceTriple.getObject().toString();
Triple inputtypeTriple=query.selectSingle(pageid,"inputtype",null);
if (inputtypeTriple==null)
inputtypeTriple=query.selectSingle(pageid,"Property:Action_inputtype",null);
if (inputtypeTriple!=null)
inputtype=inputtypeTriple.getObject().toString();
Triple inputTriple=query.selectSingle(pageid,"input",null);
if (inputTriple==null)
inputTriple=query.selectSingle(pageid,"Property:Action_input",null);
if (inputTriple!=null)
input=inputTriple.getObject().toString();
Triple actionpageTriple=query.selectSingle(pageid,"actionpage",null);
if (actionpageTriple==null)
actionpageTriple=query.selectSingle(pageid,"Property:Action_actionpage",null);
if (actionpageTriple!=null)
actionpage=actionpageTriple.getObject().toString();
Triple outputTriple=query.selectSingle(pageid,"output",null);
if (outputTriple==null)
outputTriple=query.selectSingle(pageid,"Property:Action_output",null);
if (outputTriple!=null)
output=outputTriple.getObject().toString();
init(query);
} // constructor for Action
// >>>{user defined topic code}{Action}{Action}
// <<<{user defined topic code}{Action}{Action}
} // class Action
/**
* Manager for Action
*/
public static class ActionManager extends TopicBase {
public String topicName="Action";
public transient List<Action> mActions=new ArrayList<Action>();
public transient Map<String,Action> mActionMap=new LinkedHashMap<String,Action>();
/**
* get my Actions
*/
public List<Action> getActions() {
List<Action> result=this.mActions;
return result;
}
/**
* add a new Action
*/
public Action add(Action pAction) {
mActions.add(pAction);
mActionMap.put(pAction.getPageid(),pAction);
return pAction;
}
/**
* add a new Action from the given triple
*/
public Action add(TripleQuery query,Triple pActionTriple) {
Action lAction=new Action(query,pActionTriple);
add(lAction);
return lAction;
}
// reinitialize my mAction map
public void reinit() {
mActionMap.clear();
for (Action lAction:mActions) {
mActionMap.put(lAction.getPageid(),lAction);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static ActionManager fromJson(String json) {
ActionManager result=JSON.parseObject(json, ActionManager.class);
result.reinit();
return result;
}
// default constructor
public ActionManager() {}
// construct me from the given triple Query query
public ActionManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lActionQuery=query.query(null,"isA","Action");
for (Triple lActionTriple:lActionQuery.getTriples()) {
add(query,lActionTriple);
}
// then the SMW triplestore
lActionQuery=query.query(null,"Property:IsA","Action");
for (Triple lActionTriple:lActionQuery.getTriples()) {
add(query,lActionTriple);
}
init(query);
} // constructor for Action Manager
// >>>{user defined topicmanager code}{Action}{Action}
// <<<{user defined topicmanager code}{Action}{Action}
} // class Action Manager
/**
* TopicLink
* A TopicLink links two Concepts
*/
public static class TopicLink extends TopicBase {
public String pageid;
public String name;
public String source;
public String sourceRole;
public String sourceMultiple;
public String sourceDocumentation;
public String target;
public String targetRole;
public String targetMultiple;
public String targetDocumentation;
public String masterDetail;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getSource() { return source; }
public void setSource(String pSource) { source=pSource; }
public String getSourceRole() { return sourceRole; }
public void setSourceRole(String pSourceRole) { sourceRole=pSourceRole; }
public String getSourceMultiple() { return sourceMultiple; }
public void setSourceMultiple(String pSourceMultiple) { sourceMultiple=pSourceMultiple; }
public String getSourceDocumentation() { return sourceDocumentation; }
public void setSourceDocumentation(String pSourceDocumentation) { sourceDocumentation=pSourceDocumentation; }
public String getTarget() { return target; }
public void setTarget(String pTarget) { target=pTarget; }
public String getTargetRole() { return targetRole; }
public void setTargetRole(String pTargetRole) { targetRole=pTargetRole; }
public String getTargetMultiple() { return targetMultiple; }
public void setTargetMultiple(String pTargetMultiple) { targetMultiple=pTargetMultiple; }
public String getTargetDocumentation() { return targetDocumentation; }
public void setTargetDocumentation(String pTargetDocumentation) { targetDocumentation=pTargetDocumentation; }
public String getMasterDetail() { return masterDetail; }
public void setMasterDetail(String pMasterDetail) { masterDetail=pMasterDetail; }
/**
* convert this TopicLink to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for TopicLink
*/
public TopicLink() {}
/**
* construct a TopicLink from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTopicLinkTriple - the triple to construct me from
*/
public TopicLink(TripleQuery query,Triple pTopicLinkTriple) {
this(query,pTopicLinkTriple.getSubject().toString());
} // constructor
/**
* construct a TopicLink from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public TopicLink(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:TopicLink_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple sourceTriple=query.selectSingle(pageid,"source",null);
if (sourceTriple==null)
sourceTriple=query.selectSingle(pageid,"Property:TopicLink_source",null);
if (sourceTriple!=null)
source=sourceTriple.getObject().toString();
Triple sourceRoleTriple=query.selectSingle(pageid,"sourceRole",null);
if (sourceRoleTriple==null)
sourceRoleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceRole",null);
if (sourceRoleTriple!=null)
sourceRole=sourceRoleTriple.getObject().toString();
Triple sourceMultipleTriple=query.selectSingle(pageid,"sourceMultiple",null);
if (sourceMultipleTriple==null)
sourceMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceMultiple",null);
if (sourceMultipleTriple!=null)
sourceMultiple=sourceMultipleTriple.getObject().toString();
Triple sourceDocumentationTriple=query.selectSingle(pageid,"sourceDocumentation",null);
if (sourceDocumentationTriple==null)
sourceDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_sourceDocumentation",null);
if (sourceDocumentationTriple!=null)
sourceDocumentation=sourceDocumentationTriple.getObject().toString();
Triple targetTriple=query.selectSingle(pageid,"target",null);
if (targetTriple==null)
targetTriple=query.selectSingle(pageid,"Property:TopicLink_target",null);
if (targetTriple!=null)
target=targetTriple.getObject().toString();
Triple targetRoleTriple=query.selectSingle(pageid,"targetRole",null);
if (targetRoleTriple==null)
targetRoleTriple=query.selectSingle(pageid,"Property:TopicLink_targetRole",null);
if (targetRoleTriple!=null)
targetRole=targetRoleTriple.getObject().toString();
Triple targetMultipleTriple=query.selectSingle(pageid,"targetMultiple",null);
if (targetMultipleTriple==null)
targetMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_targetMultiple",null);
if (targetMultipleTriple!=null)
targetMultiple=targetMultipleTriple.getObject().toString();
Triple targetDocumentationTriple=query.selectSingle(pageid,"targetDocumentation",null);
if (targetDocumentationTriple==null)
targetDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_targetDocumentation",null);
if (targetDocumentationTriple!=null)
targetDocumentation=targetDocumentationTriple.getObject().toString();
Triple masterDetailTriple=query.selectSingle(pageid,"masterDetail",null);
if (masterDetailTriple==null)
masterDetailTriple=query.selectSingle(pageid,"Property:TopicLink_masterDetail",null);
if (masterDetailTriple!=null)
masterDetail=masterDetailTriple.getObject().toString();
init(query);
} // constructor for TopicLink
// >>>{user defined topic code}{TopicLink}{TopicLink}
// <<<{user defined topic code}{TopicLink}{TopicLink}
} // class TopicLink
/**
* Manager for TopicLink
*/
public static class TopicLinkManager extends TopicBase {
public String topicName="TopicLink";
public transient List<TopicLink> mTopicLinks=new ArrayList<TopicLink>();
public transient Map<String,TopicLink> mTopicLinkMap=new LinkedHashMap<String,TopicLink>();
/**
* get my TopicLinks
*/
public List<TopicLink> getTopicLinks() {
List<TopicLink> result=this.mTopicLinks;
return result;
}
/**
* add a new TopicLink
*/
public TopicLink add(TopicLink pTopicLink) {
mTopicLinks.add(pTopicLink);
mTopicLinkMap.put(pTopicLink.getPageid(),pTopicLink);
return pTopicLink;
}
/**
* add a new TopicLink from the given triple
*/
public TopicLink add(TripleQuery query,Triple pTopicLinkTriple) {
TopicLink lTopicLink=new TopicLink(query,pTopicLinkTriple);
add(lTopicLink);
return lTopicLink;
}
// reinitialize my mTopicLink map
public void reinit() {
mTopicLinkMap.clear();
for (TopicLink lTopicLink:mTopicLinks) {
mTopicLinkMap.put(lTopicLink.getPageid(),lTopicLink);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TopicLinkManager fromJson(String json) {
TopicLinkManager result=JSON.parseObject(json, TopicLinkManager.class);
result.reinit();
return result;
}
// default constructor
public TopicLinkManager() {}
// construct me from the given triple Query query
public TopicLinkManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicLinkQuery=query.query(null,"isA","TopicLink");
for (Triple lTopicLinkTriple:lTopicLinkQuery.getTriples()) {
add(query,lTopicLinkTriple);
}
// then the SMW triplestore
lTopicLinkQuery=query.query(null,"Property:IsA","TopicLink");
for (Triple lTopicLinkTriple:lTopicLinkQuery.getTriples()) {
add(query,lTopicLinkTriple);
}
init(query);
} // constructor for TopicLink Manager
// >>>{user defined topicmanager code}{TopicLink}{TopicLink}
// <<<{user defined topicmanager code}{TopicLink}{TopicLink}
} // class TopicLink Manager
}
56dda3bf593001f149819a26db4e5fe44961cba8
Concept:Context/Properties
108
112
153
2015-11-06T06:45:37Z
Wf
1
created by WikiTask 2015-11-06T06:45:36Z
wikitext
text/x-wiki
== properties of Context ==
=== [[Property:Context name]] ===
<pre>
{{Property
|name=name
|documentation=Name of the context
|type=Special:Types/Text
|label=name
|primaryKey=true
|mandatory=true
|uploadable=false
|size=80
|index=1
|sortPos=1
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Context
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
dd616695a0987e5bb2508d68f63f7df176bc2b8b
Concept:Context
108
35
154
73
2015-11-06T06:45:41Z
Wf
1
created by WikiTask 2015-11-06T06:45:38Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=Context
|pluralName=Contexts
|icon=File:Registry.png
|iconUrl=/images/d/d2/Registry.png
|documentation=A Context groups some topics like a Namespace/Package
|wikiDocumentation=A Context groups some topics like a Namespace/Package
|defaultstoremode=property
|cargo=
|context=MetaModel
|storemode=property
}}
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Topic/{{FULLPAGENAME}}|title=edit Context}}<br>
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
A Context groups some topics like a Namespace/Package
=== uml ===
<uml>
title Context
note as ContextDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as ContextNote
A Context groups some topics like a Namespace/Package
end note
class Context {
Text name
}
ContextNote .. Context
Context "context (1)" -- "topics(*)" Topic
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[Context name::+]]
|Contexts
see also
* [[List of Contexts]]
* [[Help:Context]]
* [[Concept:Context]]
* [[:Category:Context]]
* [[:Template:Context]]
* [[:Form:Context]]
topic links:
* [[:Category:Topic]]
}}
[[Category:Context]]
409e866a8fc9f70c5d652f4e3394bbd3fb86f960
Form:Property
106
113
155
2015-11-06T06:45:44Z
Wf
1
created by WikiTask 2015-11-06T06:45:42Z
wikitext
text/x-wiki
<noinclude>
This is the {{smartMediaWiki}}-Form for "Property".
Create a new Property by entering a new pagename for a Property
into the field below.
If you enter an existing Property pagename - you will edit the Property
with that pagename.
{{#forminput:form=Property|values from concept=Property}}
</noinclude><includeonly>
<div id="wikiPreview" style="display: none; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #AAAAAA;"></div>
<!-- Property -->
{{{for template|Property}}}
{| class="wikitable"
! colspan='2'| Property
|-
! name:
<!-- Text name -->
| {{{field|name|input type=|property=Property name|size=50|mandatory}}}
|-
! label:
<!-- Text label -->
| {{{field|label|input type=|property=Property label|size=50}}}
|-
! type:
<!-- Page type -->
| {{{field|type|input type=|property=Property type|size=|default=Text}}}
|-
! index:
<!-- Number index -->
| {{{field|index|input type=|property=Property index|size=}}}
|-
! sortPos:
<!-- Number sortPos -->
| {{{field|sortPos|input type=|property=Property sortPos|size=3}}}
|-
! primary key:
<!-- Boolean primaryKey -->
| {{{field|primaryKey|input type=|property=Property primaryKey|size=4}}}
|-
! mandatory:
<!-- Boolean mandatory -->
| {{{field|mandatory|input type=|property=Property mandatory|size=4}}}
|-
! namespace:
<!-- Text namespace -->
| {{{field|namespace|input type=|property=Property namespace|size=20}}}
|-
! size:
<!-- Number size -->
| {{{field|size|input type=|property=Property size|size=3}}}
|-
! uploadable:
<!-- Boolean uploadable -->
| {{{field|uploadable|input type=|property=Property uploadable|size=4}}}
|-
! default:
<!-- Code defaultValue -->
| {{{field|defaultValue|input type=|property=Property defaultValue|size=80}}}
|-
! inputType:
<!-- Text inputType -->
| {{{field|inputType|input type=dropdown|property=Property inputType|size=50|values=text, combobox, dropdown, textarea, tree, datetime, datepicker, timepicker, datetimepicker, menuselect,two listboxes, datecheck, regexp, radiobutton, googlemaps}}}
|-
! allowedValues:
<!-- Text allowedValues -->
| {{{field|allowedValues|input type=|property=Property allowedValues|size=50}}}
|-
! documentation:
<!-- Text documentation -->
| {{{field|documentation|input type=textarea|property=Property documentation|size=500}}}
|-
! values from:
<!-- Code values_from -->
| {{{field|values_from|input type=textarea|property=Property values_from|size=200}}}
|-
! showInGrid:
<!-- Boolean showInGrid -->
| {{{field|showInGrid|input type=|property=Property showInGrid|size=|default=true}}}
|-
! isLink:
<!-- Boolean isLink -->
| {{{field|isLink|input type=|property=Property isLink|size=}}}
|-
! allow nulls?:
<!-- Boolean nullable -->
| {{{field|nullable|input type=|property=Property nullable|size=|default=false}}}
|-
! topic:
<!-- Page topic -->
| {{{field|topic|input type=dropdown|property=Property topic|size=|values from concept=Topic}}}
|-
|}
{{{field|storemode|default=property|hidden}}}
{{{end template}}}
<!-- Property -->
'''Freitext:'''
{{{standard input|free text|rows=10}}}
{{{standard input|summary}}}
{{{standard input|minor edit}}} {{{standard input|watch}}}
{{{standard input|save}}} {{{standard input|preview}}} {{{standard input|changes}}} {{{standard input|cancel}}}
</includeonly>
eb85bd384a1e048138e0d011a4042917efe35b5c
Help:Property
12
114
156
2015-11-06T06:45:48Z
Wf
1
created by WikiTask 2015-11-06T06:45:45Z
wikitext
text/x-wiki
== Help for Property ==
{{#ask: [[Topic name::Property]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
=== Documentation ===
see
* https://semantic-mediawiki.org/wiki/Help:Properties_and_types
* https://semantic-mediawiki.org/wiki/Help:Special_properties
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
=== Example Properties ===
{{#ask: [[Concept:Property]]
}}
=== Properties ===
{{#ask: [[Concept:Property]][[Property topic::Concept:Property]]
| ?Property documentation = documentation
| ?Property type = type
| ?Property name = name
| ?Property label = label
| ?Property allowedValues = allowedValues
| ?Property mandatory = mandatory
| ?Property uploadable = uploadable
|format=table
}}
=== uml ===
<uml>
title Property
note as PropertyDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as PropertyNote
a Property is a Feature/Attribute of a Topic
end note
class Property {
Text name
Text label
Page type
Number index
Number sortPos
Boolean primaryKey
Boolean mandatory
Text namespace
Number size
Boolean uploadable
Code defaultValue
Text inputType
Text allowedValues
Text documentation
Code values_from
Boolean showInGrid
Boolean isLink
Boolean nullable
Page topic
}
PropertyNote .. Property
Property "usedByProperties (*)" -- "smw_type(1)" SMW_Type
Topic "topic (1)" -- "properties(*)" Property
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
see also
* [[List of Properties]]
* [[Help:Property]]
* [[Concept:Property]]
* [[:Category:Property]]
* [[:Template:Property]]
* [[:Form:Property]]
topic links:
* [[:Category:SMW_Type]]
[[Category:Property]]
4a89dfca44dc2d92756ee4ea32c5c0ea17342495
Category:Property
14
115
157
2015-11-06T06:45:52Z
Wf
1
created by WikiTask 2015-11-06T06:45:50Z
wikitext
text/x-wiki
__NOTOC__
{{#ask: [[Topic name::Property]] | ?Topic wikiDocumentation= | mainlabel=-}}
Properties may be added and edited with the form [[has default form::Property]]
* [[List of Properties]]
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
Property description
<div class="mw-collapsible-content">
=== uml ===
<uml>
title Property
note as PropertyDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as PropertyNote
a Property is a Feature/Attribute of a Topic
end note
class Property {
Text name
Text label
Page type
Number index
Number sortPos
Boolean primaryKey
Boolean mandatory
Text namespace
Number size
Boolean uploadable
Code defaultValue
Text inputType
Text allowedValues
Text documentation
Code values_from
Boolean showInGrid
Boolean isLink
Boolean nullable
Page topic
}
PropertyNote .. Property
Property "usedByProperties (*)" -- "smw_type(1)" SMW_Type
Topic "topic (1)" -- "properties(*)" Property
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
* [[Help:Property]]
* [[Concept:Property]]
* [[:Template:Property]]
* [[:Form:Property]]
=== Properties ===
* [[Property:Property name]]
* [[Property:Property label]]
* [[Property:Property type]]
* [[Property:Property index]]
* [[Property:Property sortPos]]
* [[Property:Property primaryKey]]
* [[Property:Property mandatory]]
* [[Property:Property namespace]]
* [[Property:Property size]]
* [[Property:Property uploadable]]
* [[Property:Property defaultValue]]
* [[Property:Property inputType]]
* [[Property:Property allowedValues]]
* [[Property:Property documentation]]
* [[Property:Property values_from]]
* [[Property:Property showInGrid]]
* [[Property:Property isLink]]
* [[Property:Property nullable]]
* [[Property:Property topic]]
</div>
</div>
02ba847b2af82c27a2a413c31e346daa312dff91
Help:SMW Type
12
116
158
2015-11-06T06:45:57Z
Wf
1
created by WikiTask 2015-11-06T06:45:54Z
wikitext
text/x-wiki
== Help for SMW_Type ==
{{#ask: [[Topic name::SMW_Type]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
=== Documentation ===
see
* https://semantic-mediawiki.org/wiki/Special:Types
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
=== Example SMW_Types ===
{{#ask: [[Concept:SMW_Type]]
}}
=== Properties ===
{{#ask: [[Concept:Property]][[Property topic::Concept:SMW_Type]]
| ?Property documentation = documentation
| ?Property type = type
| ?Property name = name
| ?Property label = label
| ?Property allowedValues = allowedValues
| ?Property mandatory = mandatory
| ?Property uploadable = uploadable
|format=table
}}
=== uml ===
<uml>
title SMW_Type
note as SMW_TypeDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as SMW_TypeNote
an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
end note
class SMW_Type {
Text type
Text documentation
URL helppage
Page typepage
Text javaType
Page usedByProperties
}
SMW_TypeNote .. SMW_Type
Property "usedByProperties (*)" -- "smw_type(1)" SMW_Type
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
see also
* [[List of SMW_Types]]
* [[Help:SMW_Type]]
* [[Concept:SMW_Type]]
* [[:Category:SMW_Type]]
* [[:Template:SMW_Type]]
* [[:Form:SMW_Type]]
topic links:
[[Category:SMW_Type]]
1ad37904f6b63cd70959e630000e2fade7e570a0
List of Properties
0
117
159
2015-11-06T06:45:59Z
Wf
1
created by WikiTask 2015-11-06T06:45:58Z
wikitext
text/x-wiki
__NOCACHE__
{{#ask: [[Topic name::Property]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
== Properties ==
{{#ask: [[Concept:Property]]
| ?Property name = name
| ?Property label = label
| ?Property type = type
| ?Property index = index
| ?Property sortPos = sortPos
| ?Property primaryKey = primaryKey
| ?Property mandatory = mandatory
| ?Property namespace = namespace
| ?Property size = size
| ?Property uploadable = uploadable
| ?Property defaultValue = defaultValue
| ?Property inputType = inputType
| ?Property allowedValues = allowedValues
| ?Property documentation = documentation
| ?Property values_from = values_from
| ?Property showInGrid = showInGrid
| ?Property isLink = isLink
| ?Property nullable = nullable
| ?Property topic = topic
}}
{{#forminput:form=Property|button text=add Property}}
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
=== SiDIF ===
<div class="mw-collapsible-content">
{{#ask: [[Concept:Property]]
| ?#=pageid
| ?Property name = name
| ?Property label = label
| ?Property type = type
| ?Property index = index
| ?Property sortPos = sortPos
| ?Property primaryKey = primaryKey
| ?Property mandatory = mandatory
| ?Property namespace = namespace
| ?Property size = size
| ?Property uploadable = uploadable
| ?Property defaultValue = defaultValue
| ?Property inputType = inputType
| ?Property allowedValues = allowedValues
| ?Property documentation = documentation
| ?Property values_from = values_from
| ?Property showInGrid = showInGrid
| ?Property isLink = isLink
| ?Property nullable = nullable
| ?Property topic = topic
| mainlabel=-
| format=template
| named args=yes
| template=Property
| userparam=sidif
| limit=300
}}
</div>
</div>
[[:Category:Property]]
3dd7e732f8b5eb88def480c75d9d1ad4774bacb1
Category:SMW Type
14
118
160
2015-11-06T06:46:04Z
Wf
1
created by WikiTask 2015-11-06T06:46:01Z
wikitext
text/x-wiki
__NOTOC__
{{#ask: [[Topic name::SMW_Type]] | ?Topic wikiDocumentation= | mainlabel=-}}
SMW_Types may be added and edited with the form [[has default form::SMW_Type]]
* [[List of SMW_Types]]
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
SMW_Type description
<div class="mw-collapsible-content">
=== uml ===
<uml>
title SMW_Type
note as SMW_TypeDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as SMW_TypeNote
an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
end note
class SMW_Type {
Text type
Text documentation
URL helppage
Page typepage
Text javaType
Page usedByProperties
}
SMW_TypeNote .. SMW_Type
Property "usedByProperties (*)" -- "smw_type(1)" SMW_Type
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
* [[Help:SMW_Type]]
* [[Concept:SMW_Type]]
* [[:Template:SMW_Type]]
* [[:Form:SMW_Type]]
=== Properties ===
* [[Property:SMW_Type type]]
* [[Property:SMW_Type documentation]]
* [[Property:SMW_Type helppage]]
* [[Property:SMW_Type typepage]]
* [[Property:SMW_Type javaType]]
* [[Property:SMW_Type usedByProperties]]
</div>
</div>
545f19a33853d7dcb2697157f62d4f9c246e9d1c
Concept:SMW Type
108
39
161
77
2015-11-06T06:46:08Z
Wf
1
created by WikiTask 2015-11-06T06:46:05Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=SMW_Type
|pluralName=SMW_Types
|icon=File:Component.png
|iconUrl=/images/4/40/Component.png
|documentation=an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
|wikiDocumentation=see
* https://semantic-mediawiki.org/wiki/Special:Types
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
|defaultstoremode=subobject
|cargo=
|context=MetaModel
|storemode=property
}}
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Topic/{{FULLPAGENAME}}|title=edit SMW_Type}}<br>
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
see
* https://semantic-mediawiki.org/wiki/Special:Types
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
=== uml ===
<uml>
title SMW_Type
note as SMW_TypeDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as SMW_TypeNote
an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
end note
class SMW_Type {
Text type
Text documentation
URL helppage
Page typepage
Text javaType
Page usedByProperties
}
SMW_TypeNote .. SMW_Type
Property "usedByProperties (*)" -- "smw_type(1)" SMW_Type
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[SMW_Type type::+]]
|SMW_Types
see also
* [[List of SMW_Types]]
* [[Help:SMW_Type]]
* [[Concept:SMW_Type]]
* [[:Category:SMW_Type]]
* [[:Template:SMW_Type]]
* [[:Form:SMW_Type]]
topic links:
}}
[[Category:SMW_Type]]
dce48b46e842ef19eb6ef7e73a23b606f5110f15
List of Topics
0
119
162
2015-11-06T06:46:11Z
Wf
1
created by WikiTask 2015-11-06T06:46:09Z
wikitext
text/x-wiki
__NOCACHE__
{{#ask: [[Topic name::Topic]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
== Topics ==
{{#ask: [[Concept:Topic]]
| ?Topic name = name
| ?Topic pluralName = pluralName
| ?Topic icon = icon
| ?Topic iconUrl = iconUrl
| ?Topic documentation = documentation
| ?Topic wikiDocumentation = wikiDocumentation
| ?Topic defaultstoremode = defaultstoremode
| ?Topic listLimit = listLimit
| ?Topic cargo = cargo
| ?Topic context = context
}}
{{#forminput:form=Topic|button text=add Topic}}
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
=== SiDIF ===
<div class="mw-collapsible-content">
{{#ask: [[Concept:Topic]]
| ?#=pageid
| ?Topic name = name
| ?Topic pluralName = pluralName
| ?Topic icon = icon
| ?Topic iconUrl = iconUrl
| ?Topic documentation = documentation
| ?Topic wikiDocumentation = wikiDocumentation
| ?Topic defaultstoremode = defaultstoremode
| ?Topic listLimit = listLimit
| ?Topic cargo = cargo
| ?Topic context = context
| mainlabel=-
| format=template
| named args=yes
| template=Topic
| userparam=sidif
| limit=300
}}
</div>
</div>
[[:Category:Topic]]
67b394eddff20cbb2b32610461728c6ec99bfe02
Category:Topic
14
120
163
2015-11-06T06:46:15Z
Wf
1
created by WikiTask 2015-11-06T06:46:12Z
wikitext
text/x-wiki
__NOTOC__
{{#ask: [[Topic name::Topic]] | ?Topic wikiDocumentation= | mainlabel=-}}
Topics may be added and edited with the form [[has default form::Topic]]
* [[List of Topics]]
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
Topic description
<div class="mw-collapsible-content">
=== uml ===
<uml>
title Topic
note as TopicDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as TopicNote
A Topic is a Concept/Class/Thing/Entity
end note
class Topic {
Text name
Text pluralName
Page icon
URL iconUrl
Text documentation
Text wikiDocumentation
Text defaultstoremode
Number listLimit
Boolean cargo
Page context
}
TopicNote .. Topic
Topic "topic (1)" -- "properties(*)" Property
Context "context (1)" -- "topics(*)" Topic
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
* [[Help:Topic]]
* [[Concept:Topic]]
* [[:Template:Topic]]
* [[:Form:Topic]]
=== Properties ===
* [[Property:Topic name]]
* [[Property:Topic pluralName]]
* [[Property:Topic icon]]
* [[Property:Topic iconUrl]]
* [[Property:Topic documentation]]
* [[Property:Topic wikiDocumentation]]
* [[Property:Topic defaultstoremode]]
* [[Property:Topic listLimit]]
* [[Property:Topic cargo]]
* [[Property:Topic context]]
</div>
</div>
5963844e04c998b021639fecbf64a0bc549e771e
Form:SMW Type
106
121
164
2015-11-06T06:46:17Z
Wf
1
created by WikiTask 2015-11-06T06:46:16Z
wikitext
text/x-wiki
<noinclude>
This is the {{smartMediaWiki}}-Form for "SMW_Type".
Create a new SMW_Type by entering a new pagename for a SMW_Type
into the field below.
If you enter an existing SMW_Type pagename - you will edit the SMW_Type
with that pagename.
{{#forminput:form=SMW_Type|values from concept=SMW_Type}}
</noinclude><includeonly>
<div id="wikiPreview" style="display: none; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #AAAAAA;"></div>
<!-- SMW_Type -->
{{{for template|SMW_Type|multiple}}}
{| class="wikitable"
! colspan='2'| SMW_Type
|-
! type:
<!-- Text type -->
| {{{field|type|input type=|property=SMW_Type type|size=50|mandatory}}}
|-
! type:
<!-- Text documentation -->
| {{{field|documentation|input type=|property=SMW_Type documentation|size=50}}}
|-
! type:
<!-- URL helppage -->
| {{{field|helppage|input type=|property=SMW_Type helppage|size=50}}}
|-
! typepage:
<!-- Page typepage -->
| {{{field|typepage|input type=|property=SMW_Type typepage|size=50}}}
|-
! java Type:
<!-- Text javaType -->
| {{{field|javaType|input type=|property=SMW_Type javaType|size=50}}}
|-
! usedByProperties:
<!-- Page usedByProperties -->
| {{{field|usedByProperties|input type=dropdown|property=SMW_Type usedByProperties|size=|values from concept=Property}}}
|-
|}
{{{field|storemode|default=subobject|hidden}}}
{{{end template}}}
<!-- SMW_Type -->
'''Freitext:'''
{{{standard input|free text|rows=10}}}
{{{standard input|summary}}}
{{{standard input|minor edit}}} {{{standard input|watch}}}
{{{standard input|save}}} {{{standard input|preview}}} {{{standard input|changes}}} {{{standard input|cancel}}}
</includeonly>
81e8d38f73abd84318235535c7ddbbd7bc06ce15
List of SMW Types
0
122
165
2015-11-06T06:46:20Z
Wf
1
created by WikiTask 2015-11-06T06:46:19Z
wikitext
text/x-wiki
__NOCACHE__
{{#ask: [[Topic name::SMW_Type]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
== SMW_Types ==
{{#ask: [[Concept:SMW_Type]]
| ?SMW_Type type = type
| ?SMW_Type documentation = documentation
| ?SMW_Type helppage = helppage
| ?SMW_Type typepage = typepage
| ?SMW_Type javaType = javaType
| ?SMW_Type usedByProperties = usedByProperties
}}
{{#forminput:form=SMW_Type|button text=add SMW_Type}}
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
=== SiDIF ===
<div class="mw-collapsible-content">
{{#ask: [[Concept:SMW_Type]]
| ?#=pageid
| ?SMW_Type type = type
| ?SMW_Type documentation = documentation
| ?SMW_Type helppage = helppage
| ?SMW_Type typepage = typepage
| ?SMW_Type javaType = javaType
| ?SMW_Type usedByProperties = usedByProperties
| mainlabel=-
| format=template
| named args=yes
| template=SMW_Type
| userparam=sidif
| limit=300
}}
</div>
</div>
[[:Category:SMW_Type]]
6697d30cd9229dca05505ff23c2982e5f491367c
Form:Topic
106
123
166
2015-11-06T06:46:22Z
Wf
1
created by WikiTask 2015-11-06T06:46:21Z
wikitext
text/x-wiki
<noinclude>
This is the {{smartMediaWiki}}-Form for "Topic".
Create a new Topic by entering a new pagename for a Topic
into the field below.
If you enter an existing Topic pagename - you will edit the Topic
with that pagename.
{{#forminput:form=Topic|values from concept=Topic}}
</noinclude><includeonly>
<div id="wikiPreview" style="display: none; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #AAAAAA;"></div>
<!-- Topic -->
{{{for template|Topic}}}
{| class="wikitable"
! colspan='2'| Topic
|-
! name:
<!-- Text name -->
| {{{field|name|input type=|property=Topic name|size=80|mandatory}}}
|-
! pluralName:
<!-- Text pluralName -->
| {{{field|pluralName|input type=|property=Topic pluralName|size=50}}}
|-
! icon:
<!-- Page icon -->
| {{{field|icon|input type=|property=Topic icon|size=55|uploadable}}}
|-
! icon Url:
<!-- URL iconUrl -->
| {{{field|iconUrl|input type=text|property=Topic iconUrl|size=80}}}
|-
! documentation:
<!-- Text documentation -->
| {{{field|documentation|input type=|property=Topic documentation|size=50}}}
|-
! wikiDocumentation:
<!-- Text wikiDocumentation -->
| {{{field|wikiDocumentation|input type=|property=Topic wikiDocumentation|size=50}}}
|-
! default storemode:
<!-- Text defaultstoremode -->
| {{{field|defaultstoremode|input type=radiobutton|property=Topic defaultstoremode|size=50|values=none,property,subobject}}}
|-
! list Limit:
<!-- Number listLimit -->
| {{{field|listLimit|input type=|property=Topic listLimit|size=4|default=200}}}
|-
! use cargo:
<!-- Boolean cargo -->
| {{{field|cargo|input type=|property=Topic cargo|size=}}}
|-
! context:
<!-- Page context -->
| {{{field|context|input type=dropdown|property=Topic context|size=|values from concept=Context}}}
|-
|}
{{{field|storemode|default=property|hidden}}}
{{{end template}}}
<!-- Topic -->
'''Freitext:'''
{{{standard input|free text|rows=10}}}
{{{standard input|summary}}}
{{{standard input|minor edit}}} {{{standard input|watch}}}
{{{standard input|save}}} {{{standard input|preview}}} {{{standard input|changes}}} {{{standard input|cancel}}}
</includeonly>
a3282c812fd7685f7bc76ca127e96797dbd2dacc
Concept:SMW Type/Properties
108
124
167
2015-11-06T06:46:25Z
Wf
1
created by WikiTask 2015-11-06T06:46:24Z
wikitext
text/x-wiki
== properties of SMW_Type ==
=== [[Property:SMW_Type type]] ===
<pre>
{{Property
|name=type
|documentation=The Semantic MediaWiki type without the prefix e.g. Text, Number, Boolean
|type=Special:Types/Text
|label=type
|primaryKey=true
|mandatory=true
|uploadable=false
|size=50
|index=1
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:SMW_Type documentation]] ===
<pre>
{{Property
|name=documentation
|documentation=The documentation of this Semantic Media Wiki type
|type=Special:Types/Text
|label=type
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=2
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:SMW_Type helppage]] ===
<pre>
{{Property
|name=helppage
|documentation=The url of the 'official' documentation page of this type
|type=Special:Types/URL
|label=type
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=3
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::URL]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:SMW_Type typepage]] ===
<pre>
{{Property
|name=typepage
|documentation=The Semantic Media Wiki Special page for this specific type e.g. Special:Types/Text, Special:Types/Boolean, Special:Types/Date, Special:Types/Number, Special:Types/Page
|type=Special:Types/Page
|label=typepage
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=4
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:SMW_Type javaType]] ===
<pre>
{{Property
|name=javaType
|documentation=Java mapping of this type
|type=Special:Types/Text
|label=java Type
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=5
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:SMW_Type usedByProperties]] ===
<pre>
{{Property
|name=usedByProperties
|documentation=the properties having this type
|type=Special:Types/Page
|label=usedByProperties
|primaryKey=
|mandatory=
|uploadable=
|size=
|index=
|sortPos=
|defaultValue=
|inputType=dropdown
|allowedValues=
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
00b4be1ff5b6762a01cc17b01c5dd87cfaf282a5
Concept:Topic/Properties
108
125
168
2015-11-06T06:46:28Z
Wf
1
created by WikiTask 2015-11-06T06:46:27Z
wikitext
text/x-wiki
== properties of Topic ==
=== [[Property:Topic name]] ===
<pre>
{{Property
|name=name
|documentation=The name of the topic
|type=Special:Types/Text
|label=name
|primaryKey=true
|mandatory=true
|uploadable=false
|size=80
|index=1
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Topic pluralName]] ===
<pre>
{{Property
|name=pluralName
|documentation=The plural of a topic name. E.g. for the topic 'City' the pluralName is 'Cities'. If no pluralName is specified an 's' is appended. E.g. for the topic 'Book' the default pluralName is 'Books'
|type=Special:Types/Text
|label=pluralName
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=2
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Topic icon]] ===
<pre>
{{Property
|name=icon
|documentation=an Icon for the topic
|type=Special:Types/Page
|label=icon
|primaryKey=false
|mandatory=false
|uploadable=true
|size=55
|index=3
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Topic iconUrl]] ===
<pre>
{{Property
|name=iconUrl
|documentation=the url of an icon
|type=Special:Types/URL
|label=icon Url
|primaryKey=false
|mandatory=false
|uploadable=false
|size=80
|index=4
|sortPos=
|defaultValue=
|inputType=text
|allowedValues=
|topic=Concept:Topic
|storemode=property
}}
[[Has type::URL]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Topic documentation]] ===
<pre>
{{Property
|name=documentation
|documentation=The plaintext documentation of a Topic. Please do not use markup for this.
|type=Special:Types/Text
|label=documentation
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=5
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Topic wikiDocumentation]] ===
<pre>
{{Property
|name=wikiDocumentation
|documentation=Documentation of the Topic using MediaWiki / Semantic Mediawiki markup
|type=Special:Types/Text
|label=wikiDocumentation
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=6
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Topic defaultstoremode]] ===
<pre>
{{Property
|name=defaultstoremode
|documentation=The default storemode of the topic
|type=Special:Types/Text
|label=default storemode
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=7
|sortPos=
|defaultValue=
|inputType=radiobutton
|allowedValues=none,property,subobject
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Topic listLimit]] ===
<pre>
{{Property
|name=listLimit
|documentation=What is the default #ask list limit for this Topic?
|type=Special:Types/Number
|label=list Limit
|primaryKey=false
|mandatory=false
|uploadable=false
|size=4
|index=8
|sortPos=
|defaultValue=200
|inputType=
|allowedValues=
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Topic cargo]] ===
<pre>
{{Property
|name=cargo
|documentation=Should the Topic be stored using the [https://www.mediawiki.org/wiki/Extension:Cargo Cargo Extension?]
|type=Special:Types/Boolean
|label=use cargo
|primaryKey=false
|mandatory=false
|uploadable=false
|size=
|index=9
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Topic context]] ===
<pre>
{{Property
|name=context
|documentation=
|type=Special:Types/Page
|label=context
|primaryKey=
|mandatory=
|uploadable=
|size=
|index=
|sortPos=
|defaultValue=
|inputType=dropdown
|allowedValues=
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
061e0babdae7a08c14ec73e035f14f127840a1b0
Concept:Topic/Java
108
126
169
2015-11-06T06:46:32Z
Wf
1
created by WikiTask 2015-11-06T06:46:30Z
wikitext
text/x-wiki
=== java code ===
<source lang='java' id='javacode'>@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@def static {
/**
* Base class
*/
static abstract class TopicBase {
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
/**
* Context
* A Context groups some topics like a Namespace/Package
*/
public static class Context extends TopicBase {
public String pageid;
public String name;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
/**
* convert this Context to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Context
*/
public Context() {}
/**
* construct a Context from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pContextTriple - the triple to construct me from
*/
public Context(TripleQuery query,Triple pContextTriple) {
this(query,pContextTriple.getSubject().toString());
} // constructor
/**
* construct a Context from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Context(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Context_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
init(query);
} // constructor for Context
// >>>{user defined topic code}{Context}{Context}
// <<<{user defined topic code}{Context}{Context}
} // class Context
/**
* Manager for Context
*/
public static class ContextManager extends TopicBase {
public String topicName="Context";
public transient List<Context> mContexts=new ArrayList<Context>();
public transient Map<String,Context> mContextMap=new LinkedHashMap<String,Context>();
/**
* get my Contexts
*/
public List<Context> getContexts() {
List<Context> result=this.mContexts;
return result;
}
/**
* add a new Context
*/
public Context add(Context pContext) {
mContexts.add(pContext);
mContextMap.put(pContext.getPageid(),pContext);
return pContext;
}
/**
* add a new Context from the given triple
*/
public Context add(TripleQuery query,Triple pContextTriple) {
Context lContext=new Context(query,pContextTriple);
add(lContext);
return lContext;
}
// reinitialize my mContext map
public void reinit() {
mContextMap.clear();
for (Context lContext:mContexts) {
mContextMap.put(lContext.getPageid(),lContext);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static ContextManager fromJson(String json) {
ContextManager result=JSON.parseObject(json, ContextManager.class);
result.reinit();
return result;
}
// default constructor
public ContextManager() {}
// construct me from the given triple Query query
public ContextManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lContextQuery=query.query(null,"isA","Context");
for (Triple lContextTriple:lContextQuery.getTriples()) {
add(query,lContextTriple);
}
// then the SMW triplestore
lContextQuery=query.query(null,"Property:IsA","Context");
for (Triple lContextTriple:lContextQuery.getTriples()) {
add(query,lContextTriple);
}
init(query);
} // constructor for Context Manager
// >>>{user defined topicmanager code}{Context}{Context}
// <<<{user defined topicmanager code}{Context}{Context}
} // class Context Manager
/**
* Property
* a Property is a Feature/Attribute of a Topic
*/
public static class Property extends TopicBase {
public String pageid;
public String name;
public String label;
public String type;
public String index;
public String sortPos;
public String primaryKey;
public String mandatory;
public String namespace;
public String size;
public String uploadable;
public String defaultValue;
public String inputType;
public String allowedValues;
public String documentation;
public String values_from;
public String showInGrid;
public String isLink;
public String nullable;
public String topic;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getLabel() { return label; }
public void setLabel(String pLabel) { label=pLabel; }
public String getType() { return type; }
public void setType(String pType) { type=pType; }
public String getIndex() { return index; }
public void setIndex(String pIndex) { index=pIndex; }
public String getSortPos() { return sortPos; }
public void setSortPos(String pSortPos) { sortPos=pSortPos; }
public String getPrimaryKey() { return primaryKey; }
public void setPrimaryKey(String pPrimaryKey) { primaryKey=pPrimaryKey; }
public String getMandatory() { return mandatory; }
public void setMandatory(String pMandatory) { mandatory=pMandatory; }
public String getNamespace() { return namespace; }
public void setNamespace(String pNamespace) { namespace=pNamespace; }
public String getSize() { return size; }
public void setSize(String pSize) { size=pSize; }
public String getUploadable() { return uploadable; }
public void setUploadable(String pUploadable) { uploadable=pUploadable; }
public String getDefaultValue() { return defaultValue; }
public void setDefaultValue(String pDefaultValue) { defaultValue=pDefaultValue; }
public String getInputType() { return inputType; }
public void setInputType(String pInputType) { inputType=pInputType; }
public String getAllowedValues() { return allowedValues; }
public void setAllowedValues(String pAllowedValues) { allowedValues=pAllowedValues; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getValues_from() { return values_from; }
public void setValues_from(String pValues_from) { values_from=pValues_from; }
public String getShowInGrid() { return showInGrid; }
public void setShowInGrid(String pShowInGrid) { showInGrid=pShowInGrid; }
public String getIsLink() { return isLink; }
public void setIsLink(String pIsLink) { isLink=pIsLink; }
public String getNullable() { return nullable; }
public void setNullable(String pNullable) { nullable=pNullable; }
public String getTopic() { return topic; }
public void setTopic(String pTopic) { topic=pTopic; }
/**
* convert this Property to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Property
*/
public Property() {}
/**
* construct a Property from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pPropertyTriple - the triple to construct me from
*/
public Property(TripleQuery query,Triple pPropertyTriple) {
this(query,pPropertyTriple.getSubject().toString());
} // constructor
/**
* construct a Property from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Property(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Property_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple labelTriple=query.selectSingle(pageid,"label",null);
if (labelTriple==null)
labelTriple=query.selectSingle(pageid,"Property:Property_label",null);
if (labelTriple!=null)
label=labelTriple.getObject().toString();
Triple typeTriple=query.selectSingle(pageid,"type",null);
if (typeTriple==null)
typeTriple=query.selectSingle(pageid,"Property:Property_type",null);
if (typeTriple!=null)
type=typeTriple.getObject().toString();
Triple indexTriple=query.selectSingle(pageid,"index",null);
if (indexTriple==null)
indexTriple=query.selectSingle(pageid,"Property:Property_index",null);
if (indexTriple!=null)
index=indexTriple.getObject().toString();
Triple sortPosTriple=query.selectSingle(pageid,"sortPos",null);
if (sortPosTriple==null)
sortPosTriple=query.selectSingle(pageid,"Property:Property_sortPos",null);
if (sortPosTriple!=null)
sortPos=sortPosTriple.getObject().toString();
Triple primaryKeyTriple=query.selectSingle(pageid,"primaryKey",null);
if (primaryKeyTriple==null)
primaryKeyTriple=query.selectSingle(pageid,"Property:Property_primaryKey",null);
if (primaryKeyTriple!=null)
primaryKey=primaryKeyTriple.getObject().toString();
Triple mandatoryTriple=query.selectSingle(pageid,"mandatory",null);
if (mandatoryTriple==null)
mandatoryTriple=query.selectSingle(pageid,"Property:Property_mandatory",null);
if (mandatoryTriple!=null)
mandatory=mandatoryTriple.getObject().toString();
Triple namespaceTriple=query.selectSingle(pageid,"namespace",null);
if (namespaceTriple==null)
namespaceTriple=query.selectSingle(pageid,"Property:Property_namespace",null);
if (namespaceTriple!=null)
namespace=namespaceTriple.getObject().toString();
Triple sizeTriple=query.selectSingle(pageid,"size",null);
if (sizeTriple==null)
sizeTriple=query.selectSingle(pageid,"Property:Property_size",null);
if (sizeTriple!=null)
size=sizeTriple.getObject().toString();
Triple uploadableTriple=query.selectSingle(pageid,"uploadable",null);
if (uploadableTriple==null)
uploadableTriple=query.selectSingle(pageid,"Property:Property_uploadable",null);
if (uploadableTriple!=null)
uploadable=uploadableTriple.getObject().toString();
Triple defaultValueTriple=query.selectSingle(pageid,"defaultValue",null);
if (defaultValueTriple==null)
defaultValueTriple=query.selectSingle(pageid,"Property:Property_defaultValue",null);
if (defaultValueTriple!=null)
defaultValue=defaultValueTriple.getObject().toString();
Triple inputTypeTriple=query.selectSingle(pageid,"inputType",null);
if (inputTypeTriple==null)
inputTypeTriple=query.selectSingle(pageid,"Property:Property_inputType",null);
if (inputTypeTriple!=null)
inputType=inputTypeTriple.getObject().toString();
Triple allowedValuesTriple=query.selectSingle(pageid,"allowedValues",null);
if (allowedValuesTriple==null)
allowedValuesTriple=query.selectSingle(pageid,"Property:Property_allowedValues",null);
if (allowedValuesTriple!=null)
allowedValues=allowedValuesTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Property_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple values_fromTriple=query.selectSingle(pageid,"values_from",null);
if (values_fromTriple==null)
values_fromTriple=query.selectSingle(pageid,"Property:Property_values_from",null);
if (values_fromTriple!=null)
values_from=values_fromTriple.getObject().toString();
Triple showInGridTriple=query.selectSingle(pageid,"showInGrid",null);
if (showInGridTriple==null)
showInGridTriple=query.selectSingle(pageid,"Property:Property_showInGrid",null);
if (showInGridTriple!=null)
showInGrid=showInGridTriple.getObject().toString();
Triple isLinkTriple=query.selectSingle(pageid,"isLink",null);
if (isLinkTriple==null)
isLinkTriple=query.selectSingle(pageid,"Property:Property_isLink",null);
if (isLinkTriple!=null)
isLink=isLinkTriple.getObject().toString();
Triple nullableTriple=query.selectSingle(pageid,"nullable",null);
if (nullableTriple==null)
nullableTriple=query.selectSingle(pageid,"Property:Property_nullable",null);
if (nullableTriple!=null)
nullable=nullableTriple.getObject().toString();
Triple topicTriple=query.selectSingle(pageid,"topic",null);
if (topicTriple==null)
topicTriple=query.selectSingle(pageid,"Property:Property_topic",null);
if (topicTriple!=null)
topic=topicTriple.getObject().toString();
init(query);
} // constructor for Property
// >>>{user defined topic code}{Property}{Property}
// <<<{user defined topic code}{Property}{Property}
} // class Property
/**
* Manager for Property
*/
public static class PropertyManager extends TopicBase {
public String topicName="Property";
public transient List<Property> mPropertys=new ArrayList<Property>();
public transient Map<String,Property> mPropertyMap=new LinkedHashMap<String,Property>();
/**
* get my Properties
*/
public List<Property> getProperties() {
List<Property> result=this.mPropertys;
return result;
}
/**
* add a new Property
*/
public Property add(Property pProperty) {
mPropertys.add(pProperty);
mPropertyMap.put(pProperty.getPageid(),pProperty);
return pProperty;
}
/**
* add a new Property from the given triple
*/
public Property add(TripleQuery query,Triple pPropertyTriple) {
Property lProperty=new Property(query,pPropertyTriple);
add(lProperty);
return lProperty;
}
// reinitialize my mProperty map
public void reinit() {
mPropertyMap.clear();
for (Property lProperty:mPropertys) {
mPropertyMap.put(lProperty.getPageid(),lProperty);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static PropertyManager fromJson(String json) {
PropertyManager result=JSON.parseObject(json, PropertyManager.class);
result.reinit();
return result;
}
// default constructor
public PropertyManager() {}
// construct me from the given triple Query query
public PropertyManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lPropertyQuery=query.query(null,"isA","Property");
for (Triple lPropertyTriple:lPropertyQuery.getTriples()) {
add(query,lPropertyTriple);
}
// then the SMW triplestore
lPropertyQuery=query.query(null,"Property:IsA","Property");
for (Triple lPropertyTriple:lPropertyQuery.getTriples()) {
add(query,lPropertyTriple);
}
init(query);
} // constructor for Property Manager
// >>>{user defined topicmanager code}{Property}{Property}
// <<<{user defined topicmanager code}{Property}{Property}
} // class Property Manager
/**
* SMW_Type
* an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
*/
public static class SMW_Type extends TopicBase {
public String pageid;
public String type;
public String documentation;
public String helppage;
public String typepage;
public String javaType;
public String usedByProperties;
public String getType() { return type; }
public void setType(String pType) { type=pType; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getHelppage() { return helppage; }
public void setHelppage(String pHelppage) { helppage=pHelppage; }
public String getTypepage() { return typepage; }
public void setTypepage(String pTypepage) { typepage=pTypepage; }
public String getJavaType() { return javaType; }
public void setJavaType(String pJavaType) { javaType=pJavaType; }
public String getUsedByProperties() { return usedByProperties; }
public void setUsedByProperties(String pUsedByProperties) { usedByProperties=pUsedByProperties; }
/**
* convert this SMW_Type to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for SMW_Type
*/
public SMW_Type() {}
/**
* construct a SMW_Type from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pSMW_TypeTriple - the triple to construct me from
*/
public SMW_Type(TripleQuery query,Triple pSMW_TypeTriple) {
this(query,pSMW_TypeTriple.getSubject().toString());
} // constructor
/**
* construct a SMW_Type from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public SMW_Type(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple typeTriple=query.selectSingle(pageid,"type",null);
if (typeTriple==null)
typeTriple=query.selectSingle(pageid,"Property:SMW_Type_type",null);
if (typeTriple!=null)
type=typeTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:SMW_Type_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple helppageTriple=query.selectSingle(pageid,"helppage",null);
if (helppageTriple==null)
helppageTriple=query.selectSingle(pageid,"Property:SMW_Type_helppage",null);
if (helppageTriple!=null)
helppage=helppageTriple.getObject().toString();
Triple typepageTriple=query.selectSingle(pageid,"typepage",null);
if (typepageTriple==null)
typepageTriple=query.selectSingle(pageid,"Property:SMW_Type_typepage",null);
if (typepageTriple!=null)
typepage=typepageTriple.getObject().toString();
Triple javaTypeTriple=query.selectSingle(pageid,"javaType",null);
if (javaTypeTriple==null)
javaTypeTriple=query.selectSingle(pageid,"Property:SMW_Type_javaType",null);
if (javaTypeTriple!=null)
javaType=javaTypeTriple.getObject().toString();
Triple usedByPropertiesTriple=query.selectSingle(pageid,"usedByProperties",null);
if (usedByPropertiesTriple==null)
usedByPropertiesTriple=query.selectSingle(pageid,"Property:SMW_Type_usedByProperties",null);
if (usedByPropertiesTriple!=null)
usedByProperties=usedByPropertiesTriple.getObject().toString();
init(query);
} // constructor for SMW_Type
// >>>{user defined topic code}{SMW_Type}{SMW_Type}
// <<<{user defined topic code}{SMW_Type}{SMW_Type}
} // class SMW_Type
/**
* Manager for SMW_Type
*/
public static class SMW_TypeManager extends TopicBase {
public String topicName="SMW_Type";
public transient List<SMW_Type> mSMW_Types=new ArrayList<SMW_Type>();
public transient Map<String,SMW_Type> mSMW_TypeMap=new LinkedHashMap<String,SMW_Type>();
/**
* get my SMW_Types
*/
public List<SMW_Type> getSMW_Types() {
List<SMW_Type> result=this.mSMW_Types;
return result;
}
/**
* add a new SMW_Type
*/
public SMW_Type add(SMW_Type pSMW_Type) {
mSMW_Types.add(pSMW_Type);
mSMW_TypeMap.put(pSMW_Type.getPageid(),pSMW_Type);
return pSMW_Type;
}
/**
* add a new SMW_Type from the given triple
*/
public SMW_Type add(TripleQuery query,Triple pSMW_TypeTriple) {
SMW_Type lSMW_Type=new SMW_Type(query,pSMW_TypeTriple);
add(lSMW_Type);
return lSMW_Type;
}
// reinitialize my mSMW_Type map
public void reinit() {
mSMW_TypeMap.clear();
for (SMW_Type lSMW_Type:mSMW_Types) {
mSMW_TypeMap.put(lSMW_Type.getPageid(),lSMW_Type);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static SMW_TypeManager fromJson(String json) {
SMW_TypeManager result=JSON.parseObject(json, SMW_TypeManager.class);
result.reinit();
return result;
}
// default constructor
public SMW_TypeManager() {}
// construct me from the given triple Query query
public SMW_TypeManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lSMW_TypeQuery=query.query(null,"isA","SMW_Type");
for (Triple lSMW_TypeTriple:lSMW_TypeQuery.getTriples()) {
add(query,lSMW_TypeTriple);
}
// then the SMW triplestore
lSMW_TypeQuery=query.query(null,"Property:IsA","SMW_Type");
for (Triple lSMW_TypeTriple:lSMW_TypeQuery.getTriples()) {
add(query,lSMW_TypeTriple);
}
init(query);
} // constructor for SMW_Type Manager
// >>>{user defined topicmanager code}{SMW_Type}{SMW_Type}
// <<<{user defined topicmanager code}{SMW_Type}{SMW_Type}
} // class SMW_Type Manager
/**
* Topic
* A Topic is a Concept/Class/Thing/Entity
*/
public static class Topic extends TopicBase {
public String pageid;
public String name;
public String pluralName;
public String icon;
public String iconUrl;
public String documentation;
public String wikiDocumentation;
public String defaultstoremode;
public String listLimit;
public String cargo;
public String context;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getPluralName() { return pluralName; }
public void setPluralName(String pPluralName) { pluralName=pPluralName; }
public String getIcon() { return icon; }
public void setIcon(String pIcon) { icon=pIcon; }
public String getIconUrl() { return iconUrl; }
public void setIconUrl(String pIconUrl) { iconUrl=pIconUrl; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getWikiDocumentation() { return wikiDocumentation; }
public void setWikiDocumentation(String pWikiDocumentation) { wikiDocumentation=pWikiDocumentation; }
public String getDefaultstoremode() { return defaultstoremode; }
public void setDefaultstoremode(String pDefaultstoremode) { defaultstoremode=pDefaultstoremode; }
public String getListLimit() { return listLimit; }
public void setListLimit(String pListLimit) { listLimit=pListLimit; }
public String getCargo() { return cargo; }
public void setCargo(String pCargo) { cargo=pCargo; }
public String getContext() { return context; }
public void setContext(String pContext) { context=pContext; }
/**
* convert this Topic to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Topic
*/
public Topic() {}
/**
* construct a Topic from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTopicTriple - the triple to construct me from
*/
public Topic(TripleQuery query,Triple pTopicTriple) {
this(query,pTopicTriple.getSubject().toString());
} // constructor
/**
* construct a Topic from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Topic(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Topic_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple pluralNameTriple=query.selectSingle(pageid,"pluralName",null);
if (pluralNameTriple==null)
pluralNameTriple=query.selectSingle(pageid,"Property:Topic_pluralName",null);
if (pluralNameTriple!=null)
pluralName=pluralNameTriple.getObject().toString();
Triple iconTriple=query.selectSingle(pageid,"icon",null);
if (iconTriple==null)
iconTriple=query.selectSingle(pageid,"Property:Topic_icon",null);
if (iconTriple!=null)
icon=iconTriple.getObject().toString();
Triple iconUrlTriple=query.selectSingle(pageid,"iconUrl",null);
if (iconUrlTriple==null)
iconUrlTriple=query.selectSingle(pageid,"Property:Topic_iconUrl",null);
if (iconUrlTriple!=null)
iconUrl=iconUrlTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Topic_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple wikiDocumentationTriple=query.selectSingle(pageid,"wikiDocumentation",null);
if (wikiDocumentationTriple==null)
wikiDocumentationTriple=query.selectSingle(pageid,"Property:Topic_wikiDocumentation",null);
if (wikiDocumentationTriple!=null)
wikiDocumentation=wikiDocumentationTriple.getObject().toString();
Triple defaultstoremodeTriple=query.selectSingle(pageid,"defaultstoremode",null);
if (defaultstoremodeTriple==null)
defaultstoremodeTriple=query.selectSingle(pageid,"Property:Topic_defaultstoremode",null);
if (defaultstoremodeTriple!=null)
defaultstoremode=defaultstoremodeTriple.getObject().toString();
Triple listLimitTriple=query.selectSingle(pageid,"listLimit",null);
if (listLimitTriple==null)
listLimitTriple=query.selectSingle(pageid,"Property:Topic_listLimit",null);
if (listLimitTriple!=null)
listLimit=listLimitTriple.getObject().toString();
Triple cargoTriple=query.selectSingle(pageid,"cargo",null);
if (cargoTriple==null)
cargoTriple=query.selectSingle(pageid,"Property:Topic_cargo",null);
if (cargoTriple!=null)
cargo=cargoTriple.getObject().toString();
Triple contextTriple=query.selectSingle(pageid,"context",null);
if (contextTriple==null)
contextTriple=query.selectSingle(pageid,"Property:Topic_context",null);
if (contextTriple!=null)
context=contextTriple.getObject().toString();
init(query);
} // constructor for Topic
// >>>{user defined topic code}{Topic}{Topic}
// <<<{user defined topic code}{Topic}{Topic}
} // class Topic
/**
* Manager for Topic
*/
public static class TopicManager extends TopicBase {
public String topicName="Topic";
public transient List<Topic> mTopics=new ArrayList<Topic>();
public transient Map<String,Topic> mTopicMap=new LinkedHashMap<String,Topic>();
/**
* get my Topics
*/
public List<Topic> getTopics() {
List<Topic> result=this.mTopics;
return result;
}
/**
* add a new Topic
*/
public Topic add(Topic pTopic) {
mTopics.add(pTopic);
mTopicMap.put(pTopic.getPageid(),pTopic);
return pTopic;
}
/**
* add a new Topic from the given triple
*/
public Topic add(TripleQuery query,Triple pTopicTriple) {
Topic lTopic=new Topic(query,pTopicTriple);
add(lTopic);
return lTopic;
}
// reinitialize my mTopic map
public void reinit() {
mTopicMap.clear();
for (Topic lTopic:mTopics) {
mTopicMap.put(lTopic.getPageid(),lTopic);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TopicManager fromJson(String json) {
TopicManager result=JSON.parseObject(json, TopicManager.class);
result.reinit();
return result;
}
// default constructor
public TopicManager() {}
// construct me from the given triple Query query
public TopicManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicQuery=query.query(null,"isA","Topic");
for (Triple lTopicTriple:lTopicQuery.getTriples()) {
add(query,lTopicTriple);
}
// then the SMW triplestore
lTopicQuery=query.query(null,"Property:IsA","Topic");
for (Triple lTopicTriple:lTopicQuery.getTriples()) {
add(query,lTopicTriple);
}
init(query);
} // constructor for Topic Manager
// >>>{user defined topicmanager code}{Topic}{Topic}
// <<<{user defined topicmanager code}{Topic}{Topic}
} // class Topic Manager
/**
* Action
*
*/
public static class Action extends TopicBase {
public String pageid;
public String servicetype;
public String service;
public String inputtype;
public String input;
public String actionpage;
public String output;
public String getServicetype() { return servicetype; }
public void setServicetype(String pServicetype) { servicetype=pServicetype; }
public String getService() { return service; }
public void setService(String pService) { service=pService; }
public String getInputtype() { return inputtype; }
public void setInputtype(String pInputtype) { inputtype=pInputtype; }
public String getInput() { return input; }
public void setInput(String pInput) { input=pInput; }
public String getActionpage() { return actionpage; }
public void setActionpage(String pActionpage) { actionpage=pActionpage; }
public String getOutput() { return output; }
public void setOutput(String pOutput) { output=pOutput; }
/**
* convert this Action to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Action
*/
public Action() {}
/**
* construct a Action from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pActionTriple - the triple to construct me from
*/
public Action(TripleQuery query,Triple pActionTriple) {
this(query,pActionTriple.getSubject().toString());
} // constructor
/**
* construct a Action from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Action(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple servicetypeTriple=query.selectSingle(pageid,"servicetype",null);
if (servicetypeTriple==null)
servicetypeTriple=query.selectSingle(pageid,"Property:Action_servicetype",null);
if (servicetypeTriple!=null)
servicetype=servicetypeTriple.getObject().toString();
Triple serviceTriple=query.selectSingle(pageid,"service",null);
if (serviceTriple==null)
serviceTriple=query.selectSingle(pageid,"Property:Action_service",null);
if (serviceTriple!=null)
service=serviceTriple.getObject().toString();
Triple inputtypeTriple=query.selectSingle(pageid,"inputtype",null);
if (inputtypeTriple==null)
inputtypeTriple=query.selectSingle(pageid,"Property:Action_inputtype",null);
if (inputtypeTriple!=null)
inputtype=inputtypeTriple.getObject().toString();
Triple inputTriple=query.selectSingle(pageid,"input",null);
if (inputTriple==null)
inputTriple=query.selectSingle(pageid,"Property:Action_input",null);
if (inputTriple!=null)
input=inputTriple.getObject().toString();
Triple actionpageTriple=query.selectSingle(pageid,"actionpage",null);
if (actionpageTriple==null)
actionpageTriple=query.selectSingle(pageid,"Property:Action_actionpage",null);
if (actionpageTriple!=null)
actionpage=actionpageTriple.getObject().toString();
Triple outputTriple=query.selectSingle(pageid,"output",null);
if (outputTriple==null)
outputTriple=query.selectSingle(pageid,"Property:Action_output",null);
if (outputTriple!=null)
output=outputTriple.getObject().toString();
init(query);
} // constructor for Action
// >>>{user defined topic code}{Action}{Action}
// <<<{user defined topic code}{Action}{Action}
} // class Action
/**
* Manager for Action
*/
public static class ActionManager extends TopicBase {
public String topicName="Action";
public transient List<Action> mActions=new ArrayList<Action>();
public transient Map<String,Action> mActionMap=new LinkedHashMap<String,Action>();
/**
* get my Actions
*/
public List<Action> getActions() {
List<Action> result=this.mActions;
return result;
}
/**
* add a new Action
*/
public Action add(Action pAction) {
mActions.add(pAction);
mActionMap.put(pAction.getPageid(),pAction);
return pAction;
}
/**
* add a new Action from the given triple
*/
public Action add(TripleQuery query,Triple pActionTriple) {
Action lAction=new Action(query,pActionTriple);
add(lAction);
return lAction;
}
// reinitialize my mAction map
public void reinit() {
mActionMap.clear();
for (Action lAction:mActions) {
mActionMap.put(lAction.getPageid(),lAction);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static ActionManager fromJson(String json) {
ActionManager result=JSON.parseObject(json, ActionManager.class);
result.reinit();
return result;
}
// default constructor
public ActionManager() {}
// construct me from the given triple Query query
public ActionManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lActionQuery=query.query(null,"isA","Action");
for (Triple lActionTriple:lActionQuery.getTriples()) {
add(query,lActionTriple);
}
// then the SMW triplestore
lActionQuery=query.query(null,"Property:IsA","Action");
for (Triple lActionTriple:lActionQuery.getTriples()) {
add(query,lActionTriple);
}
init(query);
} // constructor for Action Manager
// >>>{user defined topicmanager code}{Action}{Action}
// <<<{user defined topicmanager code}{Action}{Action}
} // class Action Manager
/**
* TopicLink
* A TopicLink links two Concepts
*/
public static class TopicLink extends TopicBase {
public String pageid;
public String name;
public String source;
public String sourceRole;
public String sourceMultiple;
public String sourceDocumentation;
public String target;
public String targetRole;
public String targetMultiple;
public String targetDocumentation;
public String masterDetail;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getSource() { return source; }
public void setSource(String pSource) { source=pSource; }
public String getSourceRole() { return sourceRole; }
public void setSourceRole(String pSourceRole) { sourceRole=pSourceRole; }
public String getSourceMultiple() { return sourceMultiple; }
public void setSourceMultiple(String pSourceMultiple) { sourceMultiple=pSourceMultiple; }
public String getSourceDocumentation() { return sourceDocumentation; }
public void setSourceDocumentation(String pSourceDocumentation) { sourceDocumentation=pSourceDocumentation; }
public String getTarget() { return target; }
public void setTarget(String pTarget) { target=pTarget; }
public String getTargetRole() { return targetRole; }
public void setTargetRole(String pTargetRole) { targetRole=pTargetRole; }
public String getTargetMultiple() { return targetMultiple; }
public void setTargetMultiple(String pTargetMultiple) { targetMultiple=pTargetMultiple; }
public String getTargetDocumentation() { return targetDocumentation; }
public void setTargetDocumentation(String pTargetDocumentation) { targetDocumentation=pTargetDocumentation; }
public String getMasterDetail() { return masterDetail; }
public void setMasterDetail(String pMasterDetail) { masterDetail=pMasterDetail; }
/**
* convert this TopicLink to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for TopicLink
*/
public TopicLink() {}
/**
* construct a TopicLink from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTopicLinkTriple - the triple to construct me from
*/
public TopicLink(TripleQuery query,Triple pTopicLinkTriple) {
this(query,pTopicLinkTriple.getSubject().toString());
} // constructor
/**
* construct a TopicLink from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public TopicLink(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:TopicLink_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple sourceTriple=query.selectSingle(pageid,"source",null);
if (sourceTriple==null)
sourceTriple=query.selectSingle(pageid,"Property:TopicLink_source",null);
if (sourceTriple!=null)
source=sourceTriple.getObject().toString();
Triple sourceRoleTriple=query.selectSingle(pageid,"sourceRole",null);
if (sourceRoleTriple==null)
sourceRoleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceRole",null);
if (sourceRoleTriple!=null)
sourceRole=sourceRoleTriple.getObject().toString();
Triple sourceMultipleTriple=query.selectSingle(pageid,"sourceMultiple",null);
if (sourceMultipleTriple==null)
sourceMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceMultiple",null);
if (sourceMultipleTriple!=null)
sourceMultiple=sourceMultipleTriple.getObject().toString();
Triple sourceDocumentationTriple=query.selectSingle(pageid,"sourceDocumentation",null);
if (sourceDocumentationTriple==null)
sourceDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_sourceDocumentation",null);
if (sourceDocumentationTriple!=null)
sourceDocumentation=sourceDocumentationTriple.getObject().toString();
Triple targetTriple=query.selectSingle(pageid,"target",null);
if (targetTriple==null)
targetTriple=query.selectSingle(pageid,"Property:TopicLink_target",null);
if (targetTriple!=null)
target=targetTriple.getObject().toString();
Triple targetRoleTriple=query.selectSingle(pageid,"targetRole",null);
if (targetRoleTriple==null)
targetRoleTriple=query.selectSingle(pageid,"Property:TopicLink_targetRole",null);
if (targetRoleTriple!=null)
targetRole=targetRoleTriple.getObject().toString();
Triple targetMultipleTriple=query.selectSingle(pageid,"targetMultiple",null);
if (targetMultipleTriple==null)
targetMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_targetMultiple",null);
if (targetMultipleTriple!=null)
targetMultiple=targetMultipleTriple.getObject().toString();
Triple targetDocumentationTriple=query.selectSingle(pageid,"targetDocumentation",null);
if (targetDocumentationTriple==null)
targetDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_targetDocumentation",null);
if (targetDocumentationTriple!=null)
targetDocumentation=targetDocumentationTriple.getObject().toString();
Triple masterDetailTriple=query.selectSingle(pageid,"masterDetail",null);
if (masterDetailTriple==null)
masterDetailTriple=query.selectSingle(pageid,"Property:TopicLink_masterDetail",null);
if (masterDetailTriple!=null)
masterDetail=masterDetailTriple.getObject().toString();
init(query);
} // constructor for TopicLink
// >>>{user defined topic code}{TopicLink}{TopicLink}
// <<<{user defined topic code}{TopicLink}{TopicLink}
} // class TopicLink
/**
* Manager for TopicLink
*/
public static class TopicLinkManager extends TopicBase {
public String topicName="TopicLink";
public transient List<TopicLink> mTopicLinks=new ArrayList<TopicLink>();
public transient Map<String,TopicLink> mTopicLinkMap=new LinkedHashMap<String,TopicLink>();
/**
* get my TopicLinks
*/
public List<TopicLink> getTopicLinks() {
List<TopicLink> result=this.mTopicLinks;
return result;
}
/**
* add a new TopicLink
*/
public TopicLink add(TopicLink pTopicLink) {
mTopicLinks.add(pTopicLink);
mTopicLinkMap.put(pTopicLink.getPageid(),pTopicLink);
return pTopicLink;
}
/**
* add a new TopicLink from the given triple
*/
public TopicLink add(TripleQuery query,Triple pTopicLinkTriple) {
TopicLink lTopicLink=new TopicLink(query,pTopicLinkTriple);
add(lTopicLink);
return lTopicLink;
}
// reinitialize my mTopicLink map
public void reinit() {
mTopicLinkMap.clear();
for (TopicLink lTopicLink:mTopicLinks) {
mTopicLinkMap.put(lTopicLink.getPageid(),lTopicLink);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TopicLinkManager fromJson(String json) {
TopicLinkManager result=JSON.parseObject(json, TopicLinkManager.class);
result.reinit();
return result;
}
// default constructor
public TopicLinkManager() {}
// construct me from the given triple Query query
public TopicLinkManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicLinkQuery=query.query(null,"isA","TopicLink");
for (Triple lTopicLinkTriple:lTopicLinkQuery.getTriples()) {
add(query,lTopicLinkTriple);
}
// then the SMW triplestore
lTopicLinkQuery=query.query(null,"Property:IsA","TopicLink");
for (Triple lTopicLinkTriple:lTopicLinkQuery.getTriples()) {
add(query,lTopicLinkTriple);
}
init(query);
} // constructor for TopicLink Manager
// >>>{user defined topicmanager code}{TopicLink}{TopicLink}
// <<<{user defined topicmanager code}{TopicLink}{TopicLink}
} // class TopicLink Manager
}
56dda3bf593001f149819a26db4e5fe44961cba8
Concept:Action/Java
108
127
170
2015-11-06T06:46:35Z
Wf
1
created by WikiTask 2015-11-06T06:46:34Z
wikitext
text/x-wiki
=== java code ===
<source lang='java' id='javacode'>@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@def static {
/**
* Base class
*/
static abstract class TopicBase {
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
/**
* Context
* A Context groups some topics like a Namespace/Package
*/
public static class Context extends TopicBase {
public String pageid;
public String name;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
/**
* convert this Context to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Context
*/
public Context() {}
/**
* construct a Context from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pContextTriple - the triple to construct me from
*/
public Context(TripleQuery query,Triple pContextTriple) {
this(query,pContextTriple.getSubject().toString());
} // constructor
/**
* construct a Context from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Context(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Context_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
init(query);
} // constructor for Context
// >>>{user defined topic code}{Context}{Context}
// <<<{user defined topic code}{Context}{Context}
} // class Context
/**
* Manager for Context
*/
public static class ContextManager extends TopicBase {
public String topicName="Context";
public transient List<Context> mContexts=new ArrayList<Context>();
public transient Map<String,Context> mContextMap=new LinkedHashMap<String,Context>();
/**
* get my Contexts
*/
public List<Context> getContexts() {
List<Context> result=this.mContexts;
return result;
}
/**
* add a new Context
*/
public Context add(Context pContext) {
mContexts.add(pContext);
mContextMap.put(pContext.getPageid(),pContext);
return pContext;
}
/**
* add a new Context from the given triple
*/
public Context add(TripleQuery query,Triple pContextTriple) {
Context lContext=new Context(query,pContextTriple);
add(lContext);
return lContext;
}
// reinitialize my mContext map
public void reinit() {
mContextMap.clear();
for (Context lContext:mContexts) {
mContextMap.put(lContext.getPageid(),lContext);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static ContextManager fromJson(String json) {
ContextManager result=JSON.parseObject(json, ContextManager.class);
result.reinit();
return result;
}
// default constructor
public ContextManager() {}
// construct me from the given triple Query query
public ContextManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lContextQuery=query.query(null,"isA","Context");
for (Triple lContextTriple:lContextQuery.getTriples()) {
add(query,lContextTriple);
}
// then the SMW triplestore
lContextQuery=query.query(null,"Property:IsA","Context");
for (Triple lContextTriple:lContextQuery.getTriples()) {
add(query,lContextTriple);
}
init(query);
} // constructor for Context Manager
// >>>{user defined topicmanager code}{Context}{Context}
// <<<{user defined topicmanager code}{Context}{Context}
} // class Context Manager
/**
* Property
* a Property is a Feature/Attribute of a Topic
*/
public static class Property extends TopicBase {
public String pageid;
public String name;
public String label;
public String type;
public String index;
public String sortPos;
public String primaryKey;
public String mandatory;
public String namespace;
public String size;
public String uploadable;
public String defaultValue;
public String inputType;
public String allowedValues;
public String documentation;
public String values_from;
public String showInGrid;
public String isLink;
public String nullable;
public String topic;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getLabel() { return label; }
public void setLabel(String pLabel) { label=pLabel; }
public String getType() { return type; }
public void setType(String pType) { type=pType; }
public String getIndex() { return index; }
public void setIndex(String pIndex) { index=pIndex; }
public String getSortPos() { return sortPos; }
public void setSortPos(String pSortPos) { sortPos=pSortPos; }
public String getPrimaryKey() { return primaryKey; }
public void setPrimaryKey(String pPrimaryKey) { primaryKey=pPrimaryKey; }
public String getMandatory() { return mandatory; }
public void setMandatory(String pMandatory) { mandatory=pMandatory; }
public String getNamespace() { return namespace; }
public void setNamespace(String pNamespace) { namespace=pNamespace; }
public String getSize() { return size; }
public void setSize(String pSize) { size=pSize; }
public String getUploadable() { return uploadable; }
public void setUploadable(String pUploadable) { uploadable=pUploadable; }
public String getDefaultValue() { return defaultValue; }
public void setDefaultValue(String pDefaultValue) { defaultValue=pDefaultValue; }
public String getInputType() { return inputType; }
public void setInputType(String pInputType) { inputType=pInputType; }
public String getAllowedValues() { return allowedValues; }
public void setAllowedValues(String pAllowedValues) { allowedValues=pAllowedValues; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getValues_from() { return values_from; }
public void setValues_from(String pValues_from) { values_from=pValues_from; }
public String getShowInGrid() { return showInGrid; }
public void setShowInGrid(String pShowInGrid) { showInGrid=pShowInGrid; }
public String getIsLink() { return isLink; }
public void setIsLink(String pIsLink) { isLink=pIsLink; }
public String getNullable() { return nullable; }
public void setNullable(String pNullable) { nullable=pNullable; }
public String getTopic() { return topic; }
public void setTopic(String pTopic) { topic=pTopic; }
/**
* convert this Property to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Property
*/
public Property() {}
/**
* construct a Property from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pPropertyTriple - the triple to construct me from
*/
public Property(TripleQuery query,Triple pPropertyTriple) {
this(query,pPropertyTriple.getSubject().toString());
} // constructor
/**
* construct a Property from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Property(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Property_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple labelTriple=query.selectSingle(pageid,"label",null);
if (labelTriple==null)
labelTriple=query.selectSingle(pageid,"Property:Property_label",null);
if (labelTriple!=null)
label=labelTriple.getObject().toString();
Triple typeTriple=query.selectSingle(pageid,"type",null);
if (typeTriple==null)
typeTriple=query.selectSingle(pageid,"Property:Property_type",null);
if (typeTriple!=null)
type=typeTriple.getObject().toString();
Triple indexTriple=query.selectSingle(pageid,"index",null);
if (indexTriple==null)
indexTriple=query.selectSingle(pageid,"Property:Property_index",null);
if (indexTriple!=null)
index=indexTriple.getObject().toString();
Triple sortPosTriple=query.selectSingle(pageid,"sortPos",null);
if (sortPosTriple==null)
sortPosTriple=query.selectSingle(pageid,"Property:Property_sortPos",null);
if (sortPosTriple!=null)
sortPos=sortPosTriple.getObject().toString();
Triple primaryKeyTriple=query.selectSingle(pageid,"primaryKey",null);
if (primaryKeyTriple==null)
primaryKeyTriple=query.selectSingle(pageid,"Property:Property_primaryKey",null);
if (primaryKeyTriple!=null)
primaryKey=primaryKeyTriple.getObject().toString();
Triple mandatoryTriple=query.selectSingle(pageid,"mandatory",null);
if (mandatoryTriple==null)
mandatoryTriple=query.selectSingle(pageid,"Property:Property_mandatory",null);
if (mandatoryTriple!=null)
mandatory=mandatoryTriple.getObject().toString();
Triple namespaceTriple=query.selectSingle(pageid,"namespace",null);
if (namespaceTriple==null)
namespaceTriple=query.selectSingle(pageid,"Property:Property_namespace",null);
if (namespaceTriple!=null)
namespace=namespaceTriple.getObject().toString();
Triple sizeTriple=query.selectSingle(pageid,"size",null);
if (sizeTriple==null)
sizeTriple=query.selectSingle(pageid,"Property:Property_size",null);
if (sizeTriple!=null)
size=sizeTriple.getObject().toString();
Triple uploadableTriple=query.selectSingle(pageid,"uploadable",null);
if (uploadableTriple==null)
uploadableTriple=query.selectSingle(pageid,"Property:Property_uploadable",null);
if (uploadableTriple!=null)
uploadable=uploadableTriple.getObject().toString();
Triple defaultValueTriple=query.selectSingle(pageid,"defaultValue",null);
if (defaultValueTriple==null)
defaultValueTriple=query.selectSingle(pageid,"Property:Property_defaultValue",null);
if (defaultValueTriple!=null)
defaultValue=defaultValueTriple.getObject().toString();
Triple inputTypeTriple=query.selectSingle(pageid,"inputType",null);
if (inputTypeTriple==null)
inputTypeTriple=query.selectSingle(pageid,"Property:Property_inputType",null);
if (inputTypeTriple!=null)
inputType=inputTypeTriple.getObject().toString();
Triple allowedValuesTriple=query.selectSingle(pageid,"allowedValues",null);
if (allowedValuesTriple==null)
allowedValuesTriple=query.selectSingle(pageid,"Property:Property_allowedValues",null);
if (allowedValuesTriple!=null)
allowedValues=allowedValuesTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Property_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple values_fromTriple=query.selectSingle(pageid,"values_from",null);
if (values_fromTriple==null)
values_fromTriple=query.selectSingle(pageid,"Property:Property_values_from",null);
if (values_fromTriple!=null)
values_from=values_fromTriple.getObject().toString();
Triple showInGridTriple=query.selectSingle(pageid,"showInGrid",null);
if (showInGridTriple==null)
showInGridTriple=query.selectSingle(pageid,"Property:Property_showInGrid",null);
if (showInGridTriple!=null)
showInGrid=showInGridTriple.getObject().toString();
Triple isLinkTriple=query.selectSingle(pageid,"isLink",null);
if (isLinkTriple==null)
isLinkTriple=query.selectSingle(pageid,"Property:Property_isLink",null);
if (isLinkTriple!=null)
isLink=isLinkTriple.getObject().toString();
Triple nullableTriple=query.selectSingle(pageid,"nullable",null);
if (nullableTriple==null)
nullableTriple=query.selectSingle(pageid,"Property:Property_nullable",null);
if (nullableTriple!=null)
nullable=nullableTriple.getObject().toString();
Triple topicTriple=query.selectSingle(pageid,"topic",null);
if (topicTriple==null)
topicTriple=query.selectSingle(pageid,"Property:Property_topic",null);
if (topicTriple!=null)
topic=topicTriple.getObject().toString();
init(query);
} // constructor for Property
// >>>{user defined topic code}{Property}{Property}
// <<<{user defined topic code}{Property}{Property}
} // class Property
/**
* Manager for Property
*/
public static class PropertyManager extends TopicBase {
public String topicName="Property";
public transient List<Property> mPropertys=new ArrayList<Property>();
public transient Map<String,Property> mPropertyMap=new LinkedHashMap<String,Property>();
/**
* get my Properties
*/
public List<Property> getProperties() {
List<Property> result=this.mPropertys;
return result;
}
/**
* add a new Property
*/
public Property add(Property pProperty) {
mPropertys.add(pProperty);
mPropertyMap.put(pProperty.getPageid(),pProperty);
return pProperty;
}
/**
* add a new Property from the given triple
*/
public Property add(TripleQuery query,Triple pPropertyTriple) {
Property lProperty=new Property(query,pPropertyTriple);
add(lProperty);
return lProperty;
}
// reinitialize my mProperty map
public void reinit() {
mPropertyMap.clear();
for (Property lProperty:mPropertys) {
mPropertyMap.put(lProperty.getPageid(),lProperty);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static PropertyManager fromJson(String json) {
PropertyManager result=JSON.parseObject(json, PropertyManager.class);
result.reinit();
return result;
}
// default constructor
public PropertyManager() {}
// construct me from the given triple Query query
public PropertyManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lPropertyQuery=query.query(null,"isA","Property");
for (Triple lPropertyTriple:lPropertyQuery.getTriples()) {
add(query,lPropertyTriple);
}
// then the SMW triplestore
lPropertyQuery=query.query(null,"Property:IsA","Property");
for (Triple lPropertyTriple:lPropertyQuery.getTriples()) {
add(query,lPropertyTriple);
}
init(query);
} // constructor for Property Manager
// >>>{user defined topicmanager code}{Property}{Property}
// <<<{user defined topicmanager code}{Property}{Property}
} // class Property Manager
/**
* SMW_Type
* an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
*/
public static class SMW_Type extends TopicBase {
public String pageid;
public String type;
public String documentation;
public String helppage;
public String typepage;
public String javaType;
public String usedByProperties;
public String getType() { return type; }
public void setType(String pType) { type=pType; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getHelppage() { return helppage; }
public void setHelppage(String pHelppage) { helppage=pHelppage; }
public String getTypepage() { return typepage; }
public void setTypepage(String pTypepage) { typepage=pTypepage; }
public String getJavaType() { return javaType; }
public void setJavaType(String pJavaType) { javaType=pJavaType; }
public String getUsedByProperties() { return usedByProperties; }
public void setUsedByProperties(String pUsedByProperties) { usedByProperties=pUsedByProperties; }
/**
* convert this SMW_Type to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for SMW_Type
*/
public SMW_Type() {}
/**
* construct a SMW_Type from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pSMW_TypeTriple - the triple to construct me from
*/
public SMW_Type(TripleQuery query,Triple pSMW_TypeTriple) {
this(query,pSMW_TypeTriple.getSubject().toString());
} // constructor
/**
* construct a SMW_Type from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public SMW_Type(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple typeTriple=query.selectSingle(pageid,"type",null);
if (typeTriple==null)
typeTriple=query.selectSingle(pageid,"Property:SMW_Type_type",null);
if (typeTriple!=null)
type=typeTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:SMW_Type_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple helppageTriple=query.selectSingle(pageid,"helppage",null);
if (helppageTriple==null)
helppageTriple=query.selectSingle(pageid,"Property:SMW_Type_helppage",null);
if (helppageTriple!=null)
helppage=helppageTriple.getObject().toString();
Triple typepageTriple=query.selectSingle(pageid,"typepage",null);
if (typepageTriple==null)
typepageTriple=query.selectSingle(pageid,"Property:SMW_Type_typepage",null);
if (typepageTriple!=null)
typepage=typepageTriple.getObject().toString();
Triple javaTypeTriple=query.selectSingle(pageid,"javaType",null);
if (javaTypeTriple==null)
javaTypeTriple=query.selectSingle(pageid,"Property:SMW_Type_javaType",null);
if (javaTypeTriple!=null)
javaType=javaTypeTriple.getObject().toString();
Triple usedByPropertiesTriple=query.selectSingle(pageid,"usedByProperties",null);
if (usedByPropertiesTriple==null)
usedByPropertiesTriple=query.selectSingle(pageid,"Property:SMW_Type_usedByProperties",null);
if (usedByPropertiesTriple!=null)
usedByProperties=usedByPropertiesTriple.getObject().toString();
init(query);
} // constructor for SMW_Type
// >>>{user defined topic code}{SMW_Type}{SMW_Type}
// <<<{user defined topic code}{SMW_Type}{SMW_Type}
} // class SMW_Type
/**
* Manager for SMW_Type
*/
public static class SMW_TypeManager extends TopicBase {
public String topicName="SMW_Type";
public transient List<SMW_Type> mSMW_Types=new ArrayList<SMW_Type>();
public transient Map<String,SMW_Type> mSMW_TypeMap=new LinkedHashMap<String,SMW_Type>();
/**
* get my SMW_Types
*/
public List<SMW_Type> getSMW_Types() {
List<SMW_Type> result=this.mSMW_Types;
return result;
}
/**
* add a new SMW_Type
*/
public SMW_Type add(SMW_Type pSMW_Type) {
mSMW_Types.add(pSMW_Type);
mSMW_TypeMap.put(pSMW_Type.getPageid(),pSMW_Type);
return pSMW_Type;
}
/**
* add a new SMW_Type from the given triple
*/
public SMW_Type add(TripleQuery query,Triple pSMW_TypeTriple) {
SMW_Type lSMW_Type=new SMW_Type(query,pSMW_TypeTriple);
add(lSMW_Type);
return lSMW_Type;
}
// reinitialize my mSMW_Type map
public void reinit() {
mSMW_TypeMap.clear();
for (SMW_Type lSMW_Type:mSMW_Types) {
mSMW_TypeMap.put(lSMW_Type.getPageid(),lSMW_Type);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static SMW_TypeManager fromJson(String json) {
SMW_TypeManager result=JSON.parseObject(json, SMW_TypeManager.class);
result.reinit();
return result;
}
// default constructor
public SMW_TypeManager() {}
// construct me from the given triple Query query
public SMW_TypeManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lSMW_TypeQuery=query.query(null,"isA","SMW_Type");
for (Triple lSMW_TypeTriple:lSMW_TypeQuery.getTriples()) {
add(query,lSMW_TypeTriple);
}
// then the SMW triplestore
lSMW_TypeQuery=query.query(null,"Property:IsA","SMW_Type");
for (Triple lSMW_TypeTriple:lSMW_TypeQuery.getTriples()) {
add(query,lSMW_TypeTriple);
}
init(query);
} // constructor for SMW_Type Manager
// >>>{user defined topicmanager code}{SMW_Type}{SMW_Type}
// <<<{user defined topicmanager code}{SMW_Type}{SMW_Type}
} // class SMW_Type Manager
/**
* Topic
* A Topic is a Concept/Class/Thing/Entity
*/
public static class Topic extends TopicBase {
public String pageid;
public String name;
public String pluralName;
public String icon;
public String iconUrl;
public String documentation;
public String wikiDocumentation;
public String defaultstoremode;
public String listLimit;
public String cargo;
public String context;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getPluralName() { return pluralName; }
public void setPluralName(String pPluralName) { pluralName=pPluralName; }
public String getIcon() { return icon; }
public void setIcon(String pIcon) { icon=pIcon; }
public String getIconUrl() { return iconUrl; }
public void setIconUrl(String pIconUrl) { iconUrl=pIconUrl; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getWikiDocumentation() { return wikiDocumentation; }
public void setWikiDocumentation(String pWikiDocumentation) { wikiDocumentation=pWikiDocumentation; }
public String getDefaultstoremode() { return defaultstoremode; }
public void setDefaultstoremode(String pDefaultstoremode) { defaultstoremode=pDefaultstoremode; }
public String getListLimit() { return listLimit; }
public void setListLimit(String pListLimit) { listLimit=pListLimit; }
public String getCargo() { return cargo; }
public void setCargo(String pCargo) { cargo=pCargo; }
public String getContext() { return context; }
public void setContext(String pContext) { context=pContext; }
/**
* convert this Topic to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Topic
*/
public Topic() {}
/**
* construct a Topic from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTopicTriple - the triple to construct me from
*/
public Topic(TripleQuery query,Triple pTopicTriple) {
this(query,pTopicTriple.getSubject().toString());
} // constructor
/**
* construct a Topic from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Topic(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Topic_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple pluralNameTriple=query.selectSingle(pageid,"pluralName",null);
if (pluralNameTriple==null)
pluralNameTriple=query.selectSingle(pageid,"Property:Topic_pluralName",null);
if (pluralNameTriple!=null)
pluralName=pluralNameTriple.getObject().toString();
Triple iconTriple=query.selectSingle(pageid,"icon",null);
if (iconTriple==null)
iconTriple=query.selectSingle(pageid,"Property:Topic_icon",null);
if (iconTriple!=null)
icon=iconTriple.getObject().toString();
Triple iconUrlTriple=query.selectSingle(pageid,"iconUrl",null);
if (iconUrlTriple==null)
iconUrlTriple=query.selectSingle(pageid,"Property:Topic_iconUrl",null);
if (iconUrlTriple!=null)
iconUrl=iconUrlTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Topic_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple wikiDocumentationTriple=query.selectSingle(pageid,"wikiDocumentation",null);
if (wikiDocumentationTriple==null)
wikiDocumentationTriple=query.selectSingle(pageid,"Property:Topic_wikiDocumentation",null);
if (wikiDocumentationTriple!=null)
wikiDocumentation=wikiDocumentationTriple.getObject().toString();
Triple defaultstoremodeTriple=query.selectSingle(pageid,"defaultstoremode",null);
if (defaultstoremodeTriple==null)
defaultstoremodeTriple=query.selectSingle(pageid,"Property:Topic_defaultstoremode",null);
if (defaultstoremodeTriple!=null)
defaultstoremode=defaultstoremodeTriple.getObject().toString();
Triple listLimitTriple=query.selectSingle(pageid,"listLimit",null);
if (listLimitTriple==null)
listLimitTriple=query.selectSingle(pageid,"Property:Topic_listLimit",null);
if (listLimitTriple!=null)
listLimit=listLimitTriple.getObject().toString();
Triple cargoTriple=query.selectSingle(pageid,"cargo",null);
if (cargoTriple==null)
cargoTriple=query.selectSingle(pageid,"Property:Topic_cargo",null);
if (cargoTriple!=null)
cargo=cargoTriple.getObject().toString();
Triple contextTriple=query.selectSingle(pageid,"context",null);
if (contextTriple==null)
contextTriple=query.selectSingle(pageid,"Property:Topic_context",null);
if (contextTriple!=null)
context=contextTriple.getObject().toString();
init(query);
} // constructor for Topic
// >>>{user defined topic code}{Topic}{Topic}
// <<<{user defined topic code}{Topic}{Topic}
} // class Topic
/**
* Manager for Topic
*/
public static class TopicManager extends TopicBase {
public String topicName="Topic";
public transient List<Topic> mTopics=new ArrayList<Topic>();
public transient Map<String,Topic> mTopicMap=new LinkedHashMap<String,Topic>();
/**
* get my Topics
*/
public List<Topic> getTopics() {
List<Topic> result=this.mTopics;
return result;
}
/**
* add a new Topic
*/
public Topic add(Topic pTopic) {
mTopics.add(pTopic);
mTopicMap.put(pTopic.getPageid(),pTopic);
return pTopic;
}
/**
* add a new Topic from the given triple
*/
public Topic add(TripleQuery query,Triple pTopicTriple) {
Topic lTopic=new Topic(query,pTopicTriple);
add(lTopic);
return lTopic;
}
// reinitialize my mTopic map
public void reinit() {
mTopicMap.clear();
for (Topic lTopic:mTopics) {
mTopicMap.put(lTopic.getPageid(),lTopic);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TopicManager fromJson(String json) {
TopicManager result=JSON.parseObject(json, TopicManager.class);
result.reinit();
return result;
}
// default constructor
public TopicManager() {}
// construct me from the given triple Query query
public TopicManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicQuery=query.query(null,"isA","Topic");
for (Triple lTopicTriple:lTopicQuery.getTriples()) {
add(query,lTopicTriple);
}
// then the SMW triplestore
lTopicQuery=query.query(null,"Property:IsA","Topic");
for (Triple lTopicTriple:lTopicQuery.getTriples()) {
add(query,lTopicTriple);
}
init(query);
} // constructor for Topic Manager
// >>>{user defined topicmanager code}{Topic}{Topic}
// <<<{user defined topicmanager code}{Topic}{Topic}
} // class Topic Manager
/**
* Action
*
*/
public static class Action extends TopicBase {
public String pageid;
public String servicetype;
public String service;
public String inputtype;
public String input;
public String actionpage;
public String output;
public String getServicetype() { return servicetype; }
public void setServicetype(String pServicetype) { servicetype=pServicetype; }
public String getService() { return service; }
public void setService(String pService) { service=pService; }
public String getInputtype() { return inputtype; }
public void setInputtype(String pInputtype) { inputtype=pInputtype; }
public String getInput() { return input; }
public void setInput(String pInput) { input=pInput; }
public String getActionpage() { return actionpage; }
public void setActionpage(String pActionpage) { actionpage=pActionpage; }
public String getOutput() { return output; }
public void setOutput(String pOutput) { output=pOutput; }
/**
* convert this Action to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Action
*/
public Action() {}
/**
* construct a Action from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pActionTriple - the triple to construct me from
*/
public Action(TripleQuery query,Triple pActionTriple) {
this(query,pActionTriple.getSubject().toString());
} // constructor
/**
* construct a Action from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Action(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple servicetypeTriple=query.selectSingle(pageid,"servicetype",null);
if (servicetypeTriple==null)
servicetypeTriple=query.selectSingle(pageid,"Property:Action_servicetype",null);
if (servicetypeTriple!=null)
servicetype=servicetypeTriple.getObject().toString();
Triple serviceTriple=query.selectSingle(pageid,"service",null);
if (serviceTriple==null)
serviceTriple=query.selectSingle(pageid,"Property:Action_service",null);
if (serviceTriple!=null)
service=serviceTriple.getObject().toString();
Triple inputtypeTriple=query.selectSingle(pageid,"inputtype",null);
if (inputtypeTriple==null)
inputtypeTriple=query.selectSingle(pageid,"Property:Action_inputtype",null);
if (inputtypeTriple!=null)
inputtype=inputtypeTriple.getObject().toString();
Triple inputTriple=query.selectSingle(pageid,"input",null);
if (inputTriple==null)
inputTriple=query.selectSingle(pageid,"Property:Action_input",null);
if (inputTriple!=null)
input=inputTriple.getObject().toString();
Triple actionpageTriple=query.selectSingle(pageid,"actionpage",null);
if (actionpageTriple==null)
actionpageTriple=query.selectSingle(pageid,"Property:Action_actionpage",null);
if (actionpageTriple!=null)
actionpage=actionpageTriple.getObject().toString();
Triple outputTriple=query.selectSingle(pageid,"output",null);
if (outputTriple==null)
outputTriple=query.selectSingle(pageid,"Property:Action_output",null);
if (outputTriple!=null)
output=outputTriple.getObject().toString();
init(query);
} // constructor for Action
// >>>{user defined topic code}{Action}{Action}
// <<<{user defined topic code}{Action}{Action}
} // class Action
/**
* Manager for Action
*/
public static class ActionManager extends TopicBase {
public String topicName="Action";
public transient List<Action> mActions=new ArrayList<Action>();
public transient Map<String,Action> mActionMap=new LinkedHashMap<String,Action>();
/**
* get my Actions
*/
public List<Action> getActions() {
List<Action> result=this.mActions;
return result;
}
/**
* add a new Action
*/
public Action add(Action pAction) {
mActions.add(pAction);
mActionMap.put(pAction.getPageid(),pAction);
return pAction;
}
/**
* add a new Action from the given triple
*/
public Action add(TripleQuery query,Triple pActionTriple) {
Action lAction=new Action(query,pActionTriple);
add(lAction);
return lAction;
}
// reinitialize my mAction map
public void reinit() {
mActionMap.clear();
for (Action lAction:mActions) {
mActionMap.put(lAction.getPageid(),lAction);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static ActionManager fromJson(String json) {
ActionManager result=JSON.parseObject(json, ActionManager.class);
result.reinit();
return result;
}
// default constructor
public ActionManager() {}
// construct me from the given triple Query query
public ActionManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lActionQuery=query.query(null,"isA","Action");
for (Triple lActionTriple:lActionQuery.getTriples()) {
add(query,lActionTriple);
}
// then the SMW triplestore
lActionQuery=query.query(null,"Property:IsA","Action");
for (Triple lActionTriple:lActionQuery.getTriples()) {
add(query,lActionTriple);
}
init(query);
} // constructor for Action Manager
// >>>{user defined topicmanager code}{Action}{Action}
// <<<{user defined topicmanager code}{Action}{Action}
} // class Action Manager
/**
* TopicLink
* A TopicLink links two Concepts
*/
public static class TopicLink extends TopicBase {
public String pageid;
public String name;
public String source;
public String sourceRole;
public String sourceMultiple;
public String sourceDocumentation;
public String target;
public String targetRole;
public String targetMultiple;
public String targetDocumentation;
public String masterDetail;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getSource() { return source; }
public void setSource(String pSource) { source=pSource; }
public String getSourceRole() { return sourceRole; }
public void setSourceRole(String pSourceRole) { sourceRole=pSourceRole; }
public String getSourceMultiple() { return sourceMultiple; }
public void setSourceMultiple(String pSourceMultiple) { sourceMultiple=pSourceMultiple; }
public String getSourceDocumentation() { return sourceDocumentation; }
public void setSourceDocumentation(String pSourceDocumentation) { sourceDocumentation=pSourceDocumentation; }
public String getTarget() { return target; }
public void setTarget(String pTarget) { target=pTarget; }
public String getTargetRole() { return targetRole; }
public void setTargetRole(String pTargetRole) { targetRole=pTargetRole; }
public String getTargetMultiple() { return targetMultiple; }
public void setTargetMultiple(String pTargetMultiple) { targetMultiple=pTargetMultiple; }
public String getTargetDocumentation() { return targetDocumentation; }
public void setTargetDocumentation(String pTargetDocumentation) { targetDocumentation=pTargetDocumentation; }
public String getMasterDetail() { return masterDetail; }
public void setMasterDetail(String pMasterDetail) { masterDetail=pMasterDetail; }
/**
* convert this TopicLink to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for TopicLink
*/
public TopicLink() {}
/**
* construct a TopicLink from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTopicLinkTriple - the triple to construct me from
*/
public TopicLink(TripleQuery query,Triple pTopicLinkTriple) {
this(query,pTopicLinkTriple.getSubject().toString());
} // constructor
/**
* construct a TopicLink from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public TopicLink(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:TopicLink_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple sourceTriple=query.selectSingle(pageid,"source",null);
if (sourceTriple==null)
sourceTriple=query.selectSingle(pageid,"Property:TopicLink_source",null);
if (sourceTriple!=null)
source=sourceTriple.getObject().toString();
Triple sourceRoleTriple=query.selectSingle(pageid,"sourceRole",null);
if (sourceRoleTriple==null)
sourceRoleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceRole",null);
if (sourceRoleTriple!=null)
sourceRole=sourceRoleTriple.getObject().toString();
Triple sourceMultipleTriple=query.selectSingle(pageid,"sourceMultiple",null);
if (sourceMultipleTriple==null)
sourceMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceMultiple",null);
if (sourceMultipleTriple!=null)
sourceMultiple=sourceMultipleTriple.getObject().toString();
Triple sourceDocumentationTriple=query.selectSingle(pageid,"sourceDocumentation",null);
if (sourceDocumentationTriple==null)
sourceDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_sourceDocumentation",null);
if (sourceDocumentationTriple!=null)
sourceDocumentation=sourceDocumentationTriple.getObject().toString();
Triple targetTriple=query.selectSingle(pageid,"target",null);
if (targetTriple==null)
targetTriple=query.selectSingle(pageid,"Property:TopicLink_target",null);
if (targetTriple!=null)
target=targetTriple.getObject().toString();
Triple targetRoleTriple=query.selectSingle(pageid,"targetRole",null);
if (targetRoleTriple==null)
targetRoleTriple=query.selectSingle(pageid,"Property:TopicLink_targetRole",null);
if (targetRoleTriple!=null)
targetRole=targetRoleTriple.getObject().toString();
Triple targetMultipleTriple=query.selectSingle(pageid,"targetMultiple",null);
if (targetMultipleTriple==null)
targetMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_targetMultiple",null);
if (targetMultipleTriple!=null)
targetMultiple=targetMultipleTriple.getObject().toString();
Triple targetDocumentationTriple=query.selectSingle(pageid,"targetDocumentation",null);
if (targetDocumentationTriple==null)
targetDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_targetDocumentation",null);
if (targetDocumentationTriple!=null)
targetDocumentation=targetDocumentationTriple.getObject().toString();
Triple masterDetailTriple=query.selectSingle(pageid,"masterDetail",null);
if (masterDetailTriple==null)
masterDetailTriple=query.selectSingle(pageid,"Property:TopicLink_masterDetail",null);
if (masterDetailTriple!=null)
masterDetail=masterDetailTriple.getObject().toString();
init(query);
} // constructor for TopicLink
// >>>{user defined topic code}{TopicLink}{TopicLink}
// <<<{user defined topic code}{TopicLink}{TopicLink}
} // class TopicLink
/**
* Manager for TopicLink
*/
public static class TopicLinkManager extends TopicBase {
public String topicName="TopicLink";
public transient List<TopicLink> mTopicLinks=new ArrayList<TopicLink>();
public transient Map<String,TopicLink> mTopicLinkMap=new LinkedHashMap<String,TopicLink>();
/**
* get my TopicLinks
*/
public List<TopicLink> getTopicLinks() {
List<TopicLink> result=this.mTopicLinks;
return result;
}
/**
* add a new TopicLink
*/
public TopicLink add(TopicLink pTopicLink) {
mTopicLinks.add(pTopicLink);
mTopicLinkMap.put(pTopicLink.getPageid(),pTopicLink);
return pTopicLink;
}
/**
* add a new TopicLink from the given triple
*/
public TopicLink add(TripleQuery query,Triple pTopicLinkTriple) {
TopicLink lTopicLink=new TopicLink(query,pTopicLinkTriple);
add(lTopicLink);
return lTopicLink;
}
// reinitialize my mTopicLink map
public void reinit() {
mTopicLinkMap.clear();
for (TopicLink lTopicLink:mTopicLinks) {
mTopicLinkMap.put(lTopicLink.getPageid(),lTopicLink);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TopicLinkManager fromJson(String json) {
TopicLinkManager result=JSON.parseObject(json, TopicLinkManager.class);
result.reinit();
return result;
}
// default constructor
public TopicLinkManager() {}
// construct me from the given triple Query query
public TopicLinkManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicLinkQuery=query.query(null,"isA","TopicLink");
for (Triple lTopicLinkTriple:lTopicLinkQuery.getTriples()) {
add(query,lTopicLinkTriple);
}
// then the SMW triplestore
lTopicLinkQuery=query.query(null,"Property:IsA","TopicLink");
for (Triple lTopicLinkTriple:lTopicLinkQuery.getTriples()) {
add(query,lTopicLinkTriple);
}
init(query);
} // constructor for TopicLink Manager
// >>>{user defined topicmanager code}{TopicLink}{TopicLink}
// <<<{user defined topicmanager code}{TopicLink}{TopicLink}
} // class TopicLink Manager
}
56dda3bf593001f149819a26db4e5fe44961cba8
List of TopicLinks
0
128
171
2015-11-06T06:46:38Z
Wf
1
created by WikiTask 2015-11-06T06:46:37Z
wikitext
text/x-wiki
__NOCACHE__
{{#ask: [[Topic name::TopicLink]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
== TopicLinks ==
{{#ask: [[Concept:TopicLink]]
| ?TopicLink name = name
| ?TopicLink source = source
| ?TopicLink sourceRole = sourceRole
| ?TopicLink sourceMultiple = sourceMultiple
| ?TopicLink sourceDocumentation = sourceDocumentation
| ?TopicLink target = target
| ?TopicLink targetRole = targetRole
| ?TopicLink targetMultiple = targetMultiple
| ?TopicLink targetDocumentation = targetDocumentation
| ?TopicLink masterDetail = masterDetail
}}
{{#forminput:form=TopicLink|button text=add TopicLink}}
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
=== SiDIF ===
<div class="mw-collapsible-content">
{{#ask: [[Concept:TopicLink]]
| ?#=pageid
| ?TopicLink name = name
| ?TopicLink source = source
| ?TopicLink sourceRole = sourceRole
| ?TopicLink sourceMultiple = sourceMultiple
| ?TopicLink sourceDocumentation = sourceDocumentation
| ?TopicLink target = target
| ?TopicLink targetRole = targetRole
| ?TopicLink targetMultiple = targetMultiple
| ?TopicLink targetDocumentation = targetDocumentation
| ?TopicLink masterDetail = masterDetail
| mainlabel=-
| format=template
| named args=yes
| template=TopicLink
| userparam=sidif
| limit=300
}}
</div>
</div>
[[:Category:TopicLink]]
c0f284d924b14fcc426492123c22631280d48f38
Form:TopicLink
106
129
172
2015-11-06T06:46:41Z
Wf
1
created by WikiTask 2015-11-06T06:46:40Z
wikitext
text/x-wiki
<noinclude>
This is the {{smartMediaWiki}}-Form for "TopicLink".
Create a new TopicLink by entering a new pagename for a TopicLink
into the field below.
If you enter an existing TopicLink pagename - you will edit the TopicLink
with that pagename.
{{#forminput:form=TopicLink|values from concept=TopicLink}}
</noinclude><includeonly>
<div id="wikiPreview" style="display: none; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #AAAAAA;"></div>
<!-- TopicLink -->
{{{for template|TopicLink|multiple}}}
{| class="wikitable"
! colspan='2'| TopicLink
|-
! name:
<!-- Text name -->
| {{{field|name|input type=|property=TopicLink name|size=50}}}
|-
! source:
<!-- Page source -->
| {{{field|source|input type=dropdown|property=TopicLink source|size=50|mandatory|values from concept=Topic}}}
|-
! sourceRole:
<!-- Text sourceRole -->
| {{{field|sourceRole|input type=|property=TopicLink sourceRole|size=50}}}
|-
! sourceMultiple:
<!-- Boolean sourceMultiple -->
| {{{field|sourceMultiple|input type=|property=TopicLink sourceMultiple|size=50}}}
|-
! source Doc:
<!-- Text sourceDocumentation -->
| {{{field|sourceDocumentation|input type=textarea|property=TopicLink sourceDocumentation|size=300}}}
|-
! target:
<!-- Page target -->
| {{{field|target|input type=|property=TopicLink target|size=50}}}
|-
! targetRole:
<!-- Text targetRole -->
| {{{field|targetRole|input type=|property=TopicLink targetRole|size=50}}}
|-
! sourceMultiple:
<!-- Boolean targetMultiple -->
| {{{field|targetMultiple|input type=|property=TopicLink targetMultiple|size=50}}}
|-
! target Doc:
<!-- Text targetDocumentation -->
| {{{field|targetDocumentation|input type=textarea|property=TopicLink targetDocumentation|size=300}}}
|-
! masterDetail:
<!-- Boolean masterDetail -->
| {{{field|masterDetail|input type=|property=TopicLink masterDetail|size=}}}
|-
|}
{{{field|storemode|default=subobject|hidden}}}
{{{end template}}}
<!-- TopicLink -->
'''Freitext:'''
{{{standard input|free text|rows=10}}}
{{{standard input|summary}}}
{{{standard input|minor edit}}} {{{standard input|watch}}}
{{{standard input|save}}} {{{standard input|preview}}} {{{standard input|changes}}} {{{standard input|cancel}}}
</includeonly>
d23bdccb3219935fe8301ad5651ed0b6d7cc0e33
Concept:TopicLink
108
37
173
75
2015-11-06T06:46:45Z
Wf
1
created by WikiTask 2015-11-06T06:46:42Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=TopicLink
|pluralName=TopicLinks
|icon=File:Link.png
|iconUrl=/images/f/fd/Link.png
|documentation=A TopicLink links two Concepts
|wikiDocumentation=A TopicLink links two [[Concept:Topic]]s
|defaultstoremode=subobject
|cargo=
|context=MetaModel
|storemode=property
}}
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Topic/{{FULLPAGENAME}}|title=edit TopicLink}}<br>
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
A TopicLink links two [[Concept:Topic]]s
=== uml ===
<uml>
title TopicLink
note as TopicLinkDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as TopicLinkNote
A TopicLink links two Concepts
end note
class TopicLink {
Text name
Page source
Text sourceRole
Boolean sourceMultiple
Text sourceDocumentation
Page target
Text targetRole
Boolean targetMultiple
Text targetDocumentation
Boolean masterDetail
}
TopicLinkNote .. TopicLink
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[TopicLink source::+]]
|TopicLinks
see also
* [[List of TopicLinks]]
* [[Help:TopicLink]]
* [[Concept:TopicLink]]
* [[:Category:TopicLink]]
* [[:Template:TopicLink]]
* [[:Form:TopicLink]]
topic links:
}}
[[Category:TopicLink]]
dbfc38fadd6412ed6b54822553c9c24bc1444916
Concept:TopicLink/Java
108
130
174
2015-11-06T06:46:48Z
Wf
1
created by WikiTask 2015-11-06T06:46:47Z
wikitext
text/x-wiki
=== java code ===
<source lang='java' id='javacode'>@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@def static {
/**
* Base class
*/
static abstract class TopicBase {
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
/**
* Context
* A Context groups some topics like a Namespace/Package
*/
public static class Context extends TopicBase {
public String pageid;
public String name;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
/**
* convert this Context to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Context
*/
public Context() {}
/**
* construct a Context from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pContextTriple - the triple to construct me from
*/
public Context(TripleQuery query,Triple pContextTriple) {
this(query,pContextTriple.getSubject().toString());
} // constructor
/**
* construct a Context from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Context(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Context_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
init(query);
} // constructor for Context
// >>>{user defined topic code}{Context}{Context}
// <<<{user defined topic code}{Context}{Context}
} // class Context
/**
* Manager for Context
*/
public static class ContextManager extends TopicBase {
public String topicName="Context";
public transient List<Context> mContexts=new ArrayList<Context>();
public transient Map<String,Context> mContextMap=new LinkedHashMap<String,Context>();
/**
* get my Contexts
*/
public List<Context> getContexts() {
List<Context> result=this.mContexts;
return result;
}
/**
* add a new Context
*/
public Context add(Context pContext) {
mContexts.add(pContext);
mContextMap.put(pContext.getPageid(),pContext);
return pContext;
}
/**
* add a new Context from the given triple
*/
public Context add(TripleQuery query,Triple pContextTriple) {
Context lContext=new Context(query,pContextTriple);
add(lContext);
return lContext;
}
// reinitialize my mContext map
public void reinit() {
mContextMap.clear();
for (Context lContext:mContexts) {
mContextMap.put(lContext.getPageid(),lContext);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static ContextManager fromJson(String json) {
ContextManager result=JSON.parseObject(json, ContextManager.class);
result.reinit();
return result;
}
// default constructor
public ContextManager() {}
// construct me from the given triple Query query
public ContextManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lContextQuery=query.query(null,"isA","Context");
for (Triple lContextTriple:lContextQuery.getTriples()) {
add(query,lContextTriple);
}
// then the SMW triplestore
lContextQuery=query.query(null,"Property:IsA","Context");
for (Triple lContextTriple:lContextQuery.getTriples()) {
add(query,lContextTriple);
}
init(query);
} // constructor for Context Manager
// >>>{user defined topicmanager code}{Context}{Context}
// <<<{user defined topicmanager code}{Context}{Context}
} // class Context Manager
/**
* Property
* a Property is a Feature/Attribute of a Topic
*/
public static class Property extends TopicBase {
public String pageid;
public String name;
public String label;
public String type;
public String index;
public String sortPos;
public String primaryKey;
public String mandatory;
public String namespace;
public String size;
public String uploadable;
public String defaultValue;
public String inputType;
public String allowedValues;
public String documentation;
public String values_from;
public String showInGrid;
public String isLink;
public String nullable;
public String topic;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getLabel() { return label; }
public void setLabel(String pLabel) { label=pLabel; }
public String getType() { return type; }
public void setType(String pType) { type=pType; }
public String getIndex() { return index; }
public void setIndex(String pIndex) { index=pIndex; }
public String getSortPos() { return sortPos; }
public void setSortPos(String pSortPos) { sortPos=pSortPos; }
public String getPrimaryKey() { return primaryKey; }
public void setPrimaryKey(String pPrimaryKey) { primaryKey=pPrimaryKey; }
public String getMandatory() { return mandatory; }
public void setMandatory(String pMandatory) { mandatory=pMandatory; }
public String getNamespace() { return namespace; }
public void setNamespace(String pNamespace) { namespace=pNamespace; }
public String getSize() { return size; }
public void setSize(String pSize) { size=pSize; }
public String getUploadable() { return uploadable; }
public void setUploadable(String pUploadable) { uploadable=pUploadable; }
public String getDefaultValue() { return defaultValue; }
public void setDefaultValue(String pDefaultValue) { defaultValue=pDefaultValue; }
public String getInputType() { return inputType; }
public void setInputType(String pInputType) { inputType=pInputType; }
public String getAllowedValues() { return allowedValues; }
public void setAllowedValues(String pAllowedValues) { allowedValues=pAllowedValues; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getValues_from() { return values_from; }
public void setValues_from(String pValues_from) { values_from=pValues_from; }
public String getShowInGrid() { return showInGrid; }
public void setShowInGrid(String pShowInGrid) { showInGrid=pShowInGrid; }
public String getIsLink() { return isLink; }
public void setIsLink(String pIsLink) { isLink=pIsLink; }
public String getNullable() { return nullable; }
public void setNullable(String pNullable) { nullable=pNullable; }
public String getTopic() { return topic; }
public void setTopic(String pTopic) { topic=pTopic; }
/**
* convert this Property to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Property
*/
public Property() {}
/**
* construct a Property from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pPropertyTriple - the triple to construct me from
*/
public Property(TripleQuery query,Triple pPropertyTriple) {
this(query,pPropertyTriple.getSubject().toString());
} // constructor
/**
* construct a Property from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Property(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Property_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple labelTriple=query.selectSingle(pageid,"label",null);
if (labelTriple==null)
labelTriple=query.selectSingle(pageid,"Property:Property_label",null);
if (labelTriple!=null)
label=labelTriple.getObject().toString();
Triple typeTriple=query.selectSingle(pageid,"type",null);
if (typeTriple==null)
typeTriple=query.selectSingle(pageid,"Property:Property_type",null);
if (typeTriple!=null)
type=typeTriple.getObject().toString();
Triple indexTriple=query.selectSingle(pageid,"index",null);
if (indexTriple==null)
indexTriple=query.selectSingle(pageid,"Property:Property_index",null);
if (indexTriple!=null)
index=indexTriple.getObject().toString();
Triple sortPosTriple=query.selectSingle(pageid,"sortPos",null);
if (sortPosTriple==null)
sortPosTriple=query.selectSingle(pageid,"Property:Property_sortPos",null);
if (sortPosTriple!=null)
sortPos=sortPosTriple.getObject().toString();
Triple primaryKeyTriple=query.selectSingle(pageid,"primaryKey",null);
if (primaryKeyTriple==null)
primaryKeyTriple=query.selectSingle(pageid,"Property:Property_primaryKey",null);
if (primaryKeyTriple!=null)
primaryKey=primaryKeyTriple.getObject().toString();
Triple mandatoryTriple=query.selectSingle(pageid,"mandatory",null);
if (mandatoryTriple==null)
mandatoryTriple=query.selectSingle(pageid,"Property:Property_mandatory",null);
if (mandatoryTriple!=null)
mandatory=mandatoryTriple.getObject().toString();
Triple namespaceTriple=query.selectSingle(pageid,"namespace",null);
if (namespaceTriple==null)
namespaceTriple=query.selectSingle(pageid,"Property:Property_namespace",null);
if (namespaceTriple!=null)
namespace=namespaceTriple.getObject().toString();
Triple sizeTriple=query.selectSingle(pageid,"size",null);
if (sizeTriple==null)
sizeTriple=query.selectSingle(pageid,"Property:Property_size",null);
if (sizeTriple!=null)
size=sizeTriple.getObject().toString();
Triple uploadableTriple=query.selectSingle(pageid,"uploadable",null);
if (uploadableTriple==null)
uploadableTriple=query.selectSingle(pageid,"Property:Property_uploadable",null);
if (uploadableTriple!=null)
uploadable=uploadableTriple.getObject().toString();
Triple defaultValueTriple=query.selectSingle(pageid,"defaultValue",null);
if (defaultValueTriple==null)
defaultValueTriple=query.selectSingle(pageid,"Property:Property_defaultValue",null);
if (defaultValueTriple!=null)
defaultValue=defaultValueTriple.getObject().toString();
Triple inputTypeTriple=query.selectSingle(pageid,"inputType",null);
if (inputTypeTriple==null)
inputTypeTriple=query.selectSingle(pageid,"Property:Property_inputType",null);
if (inputTypeTriple!=null)
inputType=inputTypeTriple.getObject().toString();
Triple allowedValuesTriple=query.selectSingle(pageid,"allowedValues",null);
if (allowedValuesTriple==null)
allowedValuesTriple=query.selectSingle(pageid,"Property:Property_allowedValues",null);
if (allowedValuesTriple!=null)
allowedValues=allowedValuesTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Property_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple values_fromTriple=query.selectSingle(pageid,"values_from",null);
if (values_fromTriple==null)
values_fromTriple=query.selectSingle(pageid,"Property:Property_values_from",null);
if (values_fromTriple!=null)
values_from=values_fromTriple.getObject().toString();
Triple showInGridTriple=query.selectSingle(pageid,"showInGrid",null);
if (showInGridTriple==null)
showInGridTriple=query.selectSingle(pageid,"Property:Property_showInGrid",null);
if (showInGridTriple!=null)
showInGrid=showInGridTriple.getObject().toString();
Triple isLinkTriple=query.selectSingle(pageid,"isLink",null);
if (isLinkTriple==null)
isLinkTriple=query.selectSingle(pageid,"Property:Property_isLink",null);
if (isLinkTriple!=null)
isLink=isLinkTriple.getObject().toString();
Triple nullableTriple=query.selectSingle(pageid,"nullable",null);
if (nullableTriple==null)
nullableTriple=query.selectSingle(pageid,"Property:Property_nullable",null);
if (nullableTriple!=null)
nullable=nullableTriple.getObject().toString();
Triple topicTriple=query.selectSingle(pageid,"topic",null);
if (topicTriple==null)
topicTriple=query.selectSingle(pageid,"Property:Property_topic",null);
if (topicTriple!=null)
topic=topicTriple.getObject().toString();
init(query);
} // constructor for Property
// >>>{user defined topic code}{Property}{Property}
// <<<{user defined topic code}{Property}{Property}
} // class Property
/**
* Manager for Property
*/
public static class PropertyManager extends TopicBase {
public String topicName="Property";
public transient List<Property> mPropertys=new ArrayList<Property>();
public transient Map<String,Property> mPropertyMap=new LinkedHashMap<String,Property>();
/**
* get my Properties
*/
public List<Property> getProperties() {
List<Property> result=this.mPropertys;
return result;
}
/**
* add a new Property
*/
public Property add(Property pProperty) {
mPropertys.add(pProperty);
mPropertyMap.put(pProperty.getPageid(),pProperty);
return pProperty;
}
/**
* add a new Property from the given triple
*/
public Property add(TripleQuery query,Triple pPropertyTriple) {
Property lProperty=new Property(query,pPropertyTriple);
add(lProperty);
return lProperty;
}
// reinitialize my mProperty map
public void reinit() {
mPropertyMap.clear();
for (Property lProperty:mPropertys) {
mPropertyMap.put(lProperty.getPageid(),lProperty);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static PropertyManager fromJson(String json) {
PropertyManager result=JSON.parseObject(json, PropertyManager.class);
result.reinit();
return result;
}
// default constructor
public PropertyManager() {}
// construct me from the given triple Query query
public PropertyManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lPropertyQuery=query.query(null,"isA","Property");
for (Triple lPropertyTriple:lPropertyQuery.getTriples()) {
add(query,lPropertyTriple);
}
// then the SMW triplestore
lPropertyQuery=query.query(null,"Property:IsA","Property");
for (Triple lPropertyTriple:lPropertyQuery.getTriples()) {
add(query,lPropertyTriple);
}
init(query);
} // constructor for Property Manager
// >>>{user defined topicmanager code}{Property}{Property}
// <<<{user defined topicmanager code}{Property}{Property}
} // class Property Manager
/**
* SMW_Type
* an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
*/
public static class SMW_Type extends TopicBase {
public String pageid;
public String type;
public String documentation;
public String helppage;
public String typepage;
public String javaType;
public String usedByProperties;
public String getType() { return type; }
public void setType(String pType) { type=pType; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getHelppage() { return helppage; }
public void setHelppage(String pHelppage) { helppage=pHelppage; }
public String getTypepage() { return typepage; }
public void setTypepage(String pTypepage) { typepage=pTypepage; }
public String getJavaType() { return javaType; }
public void setJavaType(String pJavaType) { javaType=pJavaType; }
public String getUsedByProperties() { return usedByProperties; }
public void setUsedByProperties(String pUsedByProperties) { usedByProperties=pUsedByProperties; }
/**
* convert this SMW_Type to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for SMW_Type
*/
public SMW_Type() {}
/**
* construct a SMW_Type from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pSMW_TypeTriple - the triple to construct me from
*/
public SMW_Type(TripleQuery query,Triple pSMW_TypeTriple) {
this(query,pSMW_TypeTriple.getSubject().toString());
} // constructor
/**
* construct a SMW_Type from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public SMW_Type(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple typeTriple=query.selectSingle(pageid,"type",null);
if (typeTriple==null)
typeTriple=query.selectSingle(pageid,"Property:SMW_Type_type",null);
if (typeTriple!=null)
type=typeTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:SMW_Type_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple helppageTriple=query.selectSingle(pageid,"helppage",null);
if (helppageTriple==null)
helppageTriple=query.selectSingle(pageid,"Property:SMW_Type_helppage",null);
if (helppageTriple!=null)
helppage=helppageTriple.getObject().toString();
Triple typepageTriple=query.selectSingle(pageid,"typepage",null);
if (typepageTriple==null)
typepageTriple=query.selectSingle(pageid,"Property:SMW_Type_typepage",null);
if (typepageTriple!=null)
typepage=typepageTriple.getObject().toString();
Triple javaTypeTriple=query.selectSingle(pageid,"javaType",null);
if (javaTypeTriple==null)
javaTypeTriple=query.selectSingle(pageid,"Property:SMW_Type_javaType",null);
if (javaTypeTriple!=null)
javaType=javaTypeTriple.getObject().toString();
Triple usedByPropertiesTriple=query.selectSingle(pageid,"usedByProperties",null);
if (usedByPropertiesTriple==null)
usedByPropertiesTriple=query.selectSingle(pageid,"Property:SMW_Type_usedByProperties",null);
if (usedByPropertiesTriple!=null)
usedByProperties=usedByPropertiesTriple.getObject().toString();
init(query);
} // constructor for SMW_Type
// >>>{user defined topic code}{SMW_Type}{SMW_Type}
// <<<{user defined topic code}{SMW_Type}{SMW_Type}
} // class SMW_Type
/**
* Manager for SMW_Type
*/
public static class SMW_TypeManager extends TopicBase {
public String topicName="SMW_Type";
public transient List<SMW_Type> mSMW_Types=new ArrayList<SMW_Type>();
public transient Map<String,SMW_Type> mSMW_TypeMap=new LinkedHashMap<String,SMW_Type>();
/**
* get my SMW_Types
*/
public List<SMW_Type> getSMW_Types() {
List<SMW_Type> result=this.mSMW_Types;
return result;
}
/**
* add a new SMW_Type
*/
public SMW_Type add(SMW_Type pSMW_Type) {
mSMW_Types.add(pSMW_Type);
mSMW_TypeMap.put(pSMW_Type.getPageid(),pSMW_Type);
return pSMW_Type;
}
/**
* add a new SMW_Type from the given triple
*/
public SMW_Type add(TripleQuery query,Triple pSMW_TypeTriple) {
SMW_Type lSMW_Type=new SMW_Type(query,pSMW_TypeTriple);
add(lSMW_Type);
return lSMW_Type;
}
// reinitialize my mSMW_Type map
public void reinit() {
mSMW_TypeMap.clear();
for (SMW_Type lSMW_Type:mSMW_Types) {
mSMW_TypeMap.put(lSMW_Type.getPageid(),lSMW_Type);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static SMW_TypeManager fromJson(String json) {
SMW_TypeManager result=JSON.parseObject(json, SMW_TypeManager.class);
result.reinit();
return result;
}
// default constructor
public SMW_TypeManager() {}
// construct me from the given triple Query query
public SMW_TypeManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lSMW_TypeQuery=query.query(null,"isA","SMW_Type");
for (Triple lSMW_TypeTriple:lSMW_TypeQuery.getTriples()) {
add(query,lSMW_TypeTriple);
}
// then the SMW triplestore
lSMW_TypeQuery=query.query(null,"Property:IsA","SMW_Type");
for (Triple lSMW_TypeTriple:lSMW_TypeQuery.getTriples()) {
add(query,lSMW_TypeTriple);
}
init(query);
} // constructor for SMW_Type Manager
// >>>{user defined topicmanager code}{SMW_Type}{SMW_Type}
// <<<{user defined topicmanager code}{SMW_Type}{SMW_Type}
} // class SMW_Type Manager
/**
* Topic
* A Topic is a Concept/Class/Thing/Entity
*/
public static class Topic extends TopicBase {
public String pageid;
public String name;
public String pluralName;
public String icon;
public String iconUrl;
public String documentation;
public String wikiDocumentation;
public String defaultstoremode;
public String listLimit;
public String cargo;
public String context;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getPluralName() { return pluralName; }
public void setPluralName(String pPluralName) { pluralName=pPluralName; }
public String getIcon() { return icon; }
public void setIcon(String pIcon) { icon=pIcon; }
public String getIconUrl() { return iconUrl; }
public void setIconUrl(String pIconUrl) { iconUrl=pIconUrl; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getWikiDocumentation() { return wikiDocumentation; }
public void setWikiDocumentation(String pWikiDocumentation) { wikiDocumentation=pWikiDocumentation; }
public String getDefaultstoremode() { return defaultstoremode; }
public void setDefaultstoremode(String pDefaultstoremode) { defaultstoremode=pDefaultstoremode; }
public String getListLimit() { return listLimit; }
public void setListLimit(String pListLimit) { listLimit=pListLimit; }
public String getCargo() { return cargo; }
public void setCargo(String pCargo) { cargo=pCargo; }
public String getContext() { return context; }
public void setContext(String pContext) { context=pContext; }
/**
* convert this Topic to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Topic
*/
public Topic() {}
/**
* construct a Topic from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTopicTriple - the triple to construct me from
*/
public Topic(TripleQuery query,Triple pTopicTriple) {
this(query,pTopicTriple.getSubject().toString());
} // constructor
/**
* construct a Topic from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Topic(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Topic_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple pluralNameTriple=query.selectSingle(pageid,"pluralName",null);
if (pluralNameTriple==null)
pluralNameTriple=query.selectSingle(pageid,"Property:Topic_pluralName",null);
if (pluralNameTriple!=null)
pluralName=pluralNameTriple.getObject().toString();
Triple iconTriple=query.selectSingle(pageid,"icon",null);
if (iconTriple==null)
iconTriple=query.selectSingle(pageid,"Property:Topic_icon",null);
if (iconTriple!=null)
icon=iconTriple.getObject().toString();
Triple iconUrlTriple=query.selectSingle(pageid,"iconUrl",null);
if (iconUrlTriple==null)
iconUrlTriple=query.selectSingle(pageid,"Property:Topic_iconUrl",null);
if (iconUrlTriple!=null)
iconUrl=iconUrlTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Topic_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple wikiDocumentationTriple=query.selectSingle(pageid,"wikiDocumentation",null);
if (wikiDocumentationTriple==null)
wikiDocumentationTriple=query.selectSingle(pageid,"Property:Topic_wikiDocumentation",null);
if (wikiDocumentationTriple!=null)
wikiDocumentation=wikiDocumentationTriple.getObject().toString();
Triple defaultstoremodeTriple=query.selectSingle(pageid,"defaultstoremode",null);
if (defaultstoremodeTriple==null)
defaultstoremodeTriple=query.selectSingle(pageid,"Property:Topic_defaultstoremode",null);
if (defaultstoremodeTriple!=null)
defaultstoremode=defaultstoremodeTriple.getObject().toString();
Triple listLimitTriple=query.selectSingle(pageid,"listLimit",null);
if (listLimitTriple==null)
listLimitTriple=query.selectSingle(pageid,"Property:Topic_listLimit",null);
if (listLimitTriple!=null)
listLimit=listLimitTriple.getObject().toString();
Triple cargoTriple=query.selectSingle(pageid,"cargo",null);
if (cargoTriple==null)
cargoTriple=query.selectSingle(pageid,"Property:Topic_cargo",null);
if (cargoTriple!=null)
cargo=cargoTriple.getObject().toString();
Triple contextTriple=query.selectSingle(pageid,"context",null);
if (contextTriple==null)
contextTriple=query.selectSingle(pageid,"Property:Topic_context",null);
if (contextTriple!=null)
context=contextTriple.getObject().toString();
init(query);
} // constructor for Topic
// >>>{user defined topic code}{Topic}{Topic}
// <<<{user defined topic code}{Topic}{Topic}
} // class Topic
/**
* Manager for Topic
*/
public static class TopicManager extends TopicBase {
public String topicName="Topic";
public transient List<Topic> mTopics=new ArrayList<Topic>();
public transient Map<String,Topic> mTopicMap=new LinkedHashMap<String,Topic>();
/**
* get my Topics
*/
public List<Topic> getTopics() {
List<Topic> result=this.mTopics;
return result;
}
/**
* add a new Topic
*/
public Topic add(Topic pTopic) {
mTopics.add(pTopic);
mTopicMap.put(pTopic.getPageid(),pTopic);
return pTopic;
}
/**
* add a new Topic from the given triple
*/
public Topic add(TripleQuery query,Triple pTopicTriple) {
Topic lTopic=new Topic(query,pTopicTriple);
add(lTopic);
return lTopic;
}
// reinitialize my mTopic map
public void reinit() {
mTopicMap.clear();
for (Topic lTopic:mTopics) {
mTopicMap.put(lTopic.getPageid(),lTopic);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TopicManager fromJson(String json) {
TopicManager result=JSON.parseObject(json, TopicManager.class);
result.reinit();
return result;
}
// default constructor
public TopicManager() {}
// construct me from the given triple Query query
public TopicManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicQuery=query.query(null,"isA","Topic");
for (Triple lTopicTriple:lTopicQuery.getTriples()) {
add(query,lTopicTriple);
}
// then the SMW triplestore
lTopicQuery=query.query(null,"Property:IsA","Topic");
for (Triple lTopicTriple:lTopicQuery.getTriples()) {
add(query,lTopicTriple);
}
init(query);
} // constructor for Topic Manager
// >>>{user defined topicmanager code}{Topic}{Topic}
// <<<{user defined topicmanager code}{Topic}{Topic}
} // class Topic Manager
/**
* Action
*
*/
public static class Action extends TopicBase {
public String pageid;
public String servicetype;
public String service;
public String inputtype;
public String input;
public String actionpage;
public String output;
public String getServicetype() { return servicetype; }
public void setServicetype(String pServicetype) { servicetype=pServicetype; }
public String getService() { return service; }
public void setService(String pService) { service=pService; }
public String getInputtype() { return inputtype; }
public void setInputtype(String pInputtype) { inputtype=pInputtype; }
public String getInput() { return input; }
public void setInput(String pInput) { input=pInput; }
public String getActionpage() { return actionpage; }
public void setActionpage(String pActionpage) { actionpage=pActionpage; }
public String getOutput() { return output; }
public void setOutput(String pOutput) { output=pOutput; }
/**
* convert this Action to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Action
*/
public Action() {}
/**
* construct a Action from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pActionTriple - the triple to construct me from
*/
public Action(TripleQuery query,Triple pActionTriple) {
this(query,pActionTriple.getSubject().toString());
} // constructor
/**
* construct a Action from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Action(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple servicetypeTriple=query.selectSingle(pageid,"servicetype",null);
if (servicetypeTriple==null)
servicetypeTriple=query.selectSingle(pageid,"Property:Action_servicetype",null);
if (servicetypeTriple!=null)
servicetype=servicetypeTriple.getObject().toString();
Triple serviceTriple=query.selectSingle(pageid,"service",null);
if (serviceTriple==null)
serviceTriple=query.selectSingle(pageid,"Property:Action_service",null);
if (serviceTriple!=null)
service=serviceTriple.getObject().toString();
Triple inputtypeTriple=query.selectSingle(pageid,"inputtype",null);
if (inputtypeTriple==null)
inputtypeTriple=query.selectSingle(pageid,"Property:Action_inputtype",null);
if (inputtypeTriple!=null)
inputtype=inputtypeTriple.getObject().toString();
Triple inputTriple=query.selectSingle(pageid,"input",null);
if (inputTriple==null)
inputTriple=query.selectSingle(pageid,"Property:Action_input",null);
if (inputTriple!=null)
input=inputTriple.getObject().toString();
Triple actionpageTriple=query.selectSingle(pageid,"actionpage",null);
if (actionpageTriple==null)
actionpageTriple=query.selectSingle(pageid,"Property:Action_actionpage",null);
if (actionpageTriple!=null)
actionpage=actionpageTriple.getObject().toString();
Triple outputTriple=query.selectSingle(pageid,"output",null);
if (outputTriple==null)
outputTriple=query.selectSingle(pageid,"Property:Action_output",null);
if (outputTriple!=null)
output=outputTriple.getObject().toString();
init(query);
} // constructor for Action
// >>>{user defined topic code}{Action}{Action}
// <<<{user defined topic code}{Action}{Action}
} // class Action
/**
* Manager for Action
*/
public static class ActionManager extends TopicBase {
public String topicName="Action";
public transient List<Action> mActions=new ArrayList<Action>();
public transient Map<String,Action> mActionMap=new LinkedHashMap<String,Action>();
/**
* get my Actions
*/
public List<Action> getActions() {
List<Action> result=this.mActions;
return result;
}
/**
* add a new Action
*/
public Action add(Action pAction) {
mActions.add(pAction);
mActionMap.put(pAction.getPageid(),pAction);
return pAction;
}
/**
* add a new Action from the given triple
*/
public Action add(TripleQuery query,Triple pActionTriple) {
Action lAction=new Action(query,pActionTriple);
add(lAction);
return lAction;
}
// reinitialize my mAction map
public void reinit() {
mActionMap.clear();
for (Action lAction:mActions) {
mActionMap.put(lAction.getPageid(),lAction);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static ActionManager fromJson(String json) {
ActionManager result=JSON.parseObject(json, ActionManager.class);
result.reinit();
return result;
}
// default constructor
public ActionManager() {}
// construct me from the given triple Query query
public ActionManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lActionQuery=query.query(null,"isA","Action");
for (Triple lActionTriple:lActionQuery.getTriples()) {
add(query,lActionTriple);
}
// then the SMW triplestore
lActionQuery=query.query(null,"Property:IsA","Action");
for (Triple lActionTriple:lActionQuery.getTriples()) {
add(query,lActionTriple);
}
init(query);
} // constructor for Action Manager
// >>>{user defined topicmanager code}{Action}{Action}
// <<<{user defined topicmanager code}{Action}{Action}
} // class Action Manager
/**
* TopicLink
* A TopicLink links two Concepts
*/
public static class TopicLink extends TopicBase {
public String pageid;
public String name;
public String source;
public String sourceRole;
public String sourceMultiple;
public String sourceDocumentation;
public String target;
public String targetRole;
public String targetMultiple;
public String targetDocumentation;
public String masterDetail;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getSource() { return source; }
public void setSource(String pSource) { source=pSource; }
public String getSourceRole() { return sourceRole; }
public void setSourceRole(String pSourceRole) { sourceRole=pSourceRole; }
public String getSourceMultiple() { return sourceMultiple; }
public void setSourceMultiple(String pSourceMultiple) { sourceMultiple=pSourceMultiple; }
public String getSourceDocumentation() { return sourceDocumentation; }
public void setSourceDocumentation(String pSourceDocumentation) { sourceDocumentation=pSourceDocumentation; }
public String getTarget() { return target; }
public void setTarget(String pTarget) { target=pTarget; }
public String getTargetRole() { return targetRole; }
public void setTargetRole(String pTargetRole) { targetRole=pTargetRole; }
public String getTargetMultiple() { return targetMultiple; }
public void setTargetMultiple(String pTargetMultiple) { targetMultiple=pTargetMultiple; }
public String getTargetDocumentation() { return targetDocumentation; }
public void setTargetDocumentation(String pTargetDocumentation) { targetDocumentation=pTargetDocumentation; }
public String getMasterDetail() { return masterDetail; }
public void setMasterDetail(String pMasterDetail) { masterDetail=pMasterDetail; }
/**
* convert this TopicLink to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for TopicLink
*/
public TopicLink() {}
/**
* construct a TopicLink from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTopicLinkTriple - the triple to construct me from
*/
public TopicLink(TripleQuery query,Triple pTopicLinkTriple) {
this(query,pTopicLinkTriple.getSubject().toString());
} // constructor
/**
* construct a TopicLink from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public TopicLink(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:TopicLink_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple sourceTriple=query.selectSingle(pageid,"source",null);
if (sourceTriple==null)
sourceTriple=query.selectSingle(pageid,"Property:TopicLink_source",null);
if (sourceTriple!=null)
source=sourceTriple.getObject().toString();
Triple sourceRoleTriple=query.selectSingle(pageid,"sourceRole",null);
if (sourceRoleTriple==null)
sourceRoleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceRole",null);
if (sourceRoleTriple!=null)
sourceRole=sourceRoleTriple.getObject().toString();
Triple sourceMultipleTriple=query.selectSingle(pageid,"sourceMultiple",null);
if (sourceMultipleTriple==null)
sourceMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceMultiple",null);
if (sourceMultipleTriple!=null)
sourceMultiple=sourceMultipleTriple.getObject().toString();
Triple sourceDocumentationTriple=query.selectSingle(pageid,"sourceDocumentation",null);
if (sourceDocumentationTriple==null)
sourceDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_sourceDocumentation",null);
if (sourceDocumentationTriple!=null)
sourceDocumentation=sourceDocumentationTriple.getObject().toString();
Triple targetTriple=query.selectSingle(pageid,"target",null);
if (targetTriple==null)
targetTriple=query.selectSingle(pageid,"Property:TopicLink_target",null);
if (targetTriple!=null)
target=targetTriple.getObject().toString();
Triple targetRoleTriple=query.selectSingle(pageid,"targetRole",null);
if (targetRoleTriple==null)
targetRoleTriple=query.selectSingle(pageid,"Property:TopicLink_targetRole",null);
if (targetRoleTriple!=null)
targetRole=targetRoleTriple.getObject().toString();
Triple targetMultipleTriple=query.selectSingle(pageid,"targetMultiple",null);
if (targetMultipleTriple==null)
targetMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_targetMultiple",null);
if (targetMultipleTriple!=null)
targetMultiple=targetMultipleTriple.getObject().toString();
Triple targetDocumentationTriple=query.selectSingle(pageid,"targetDocumentation",null);
if (targetDocumentationTriple==null)
targetDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_targetDocumentation",null);
if (targetDocumentationTriple!=null)
targetDocumentation=targetDocumentationTriple.getObject().toString();
Triple masterDetailTriple=query.selectSingle(pageid,"masterDetail",null);
if (masterDetailTriple==null)
masterDetailTriple=query.selectSingle(pageid,"Property:TopicLink_masterDetail",null);
if (masterDetailTriple!=null)
masterDetail=masterDetailTriple.getObject().toString();
init(query);
} // constructor for TopicLink
// >>>{user defined topic code}{TopicLink}{TopicLink}
// <<<{user defined topic code}{TopicLink}{TopicLink}
} // class TopicLink
/**
* Manager for TopicLink
*/
public static class TopicLinkManager extends TopicBase {
public String topicName="TopicLink";
public transient List<TopicLink> mTopicLinks=new ArrayList<TopicLink>();
public transient Map<String,TopicLink> mTopicLinkMap=new LinkedHashMap<String,TopicLink>();
/**
* get my TopicLinks
*/
public List<TopicLink> getTopicLinks() {
List<TopicLink> result=this.mTopicLinks;
return result;
}
/**
* add a new TopicLink
*/
public TopicLink add(TopicLink pTopicLink) {
mTopicLinks.add(pTopicLink);
mTopicLinkMap.put(pTopicLink.getPageid(),pTopicLink);
return pTopicLink;
}
/**
* add a new TopicLink from the given triple
*/
public TopicLink add(TripleQuery query,Triple pTopicLinkTriple) {
TopicLink lTopicLink=new TopicLink(query,pTopicLinkTriple);
add(lTopicLink);
return lTopicLink;
}
// reinitialize my mTopicLink map
public void reinit() {
mTopicLinkMap.clear();
for (TopicLink lTopicLink:mTopicLinks) {
mTopicLinkMap.put(lTopicLink.getPageid(),lTopicLink);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TopicLinkManager fromJson(String json) {
TopicLinkManager result=JSON.parseObject(json, TopicLinkManager.class);
result.reinit();
return result;
}
// default constructor
public TopicLinkManager() {}
// construct me from the given triple Query query
public TopicLinkManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicLinkQuery=query.query(null,"isA","TopicLink");
for (Triple lTopicLinkTriple:lTopicLinkQuery.getTriples()) {
add(query,lTopicLinkTriple);
}
// then the SMW triplestore
lTopicLinkQuery=query.query(null,"Property:IsA","TopicLink");
for (Triple lTopicLinkTriple:lTopicLinkQuery.getTriples()) {
add(query,lTopicLinkTriple);
}
init(query);
} // constructor for TopicLink Manager
// >>>{user defined topicmanager code}{TopicLink}{TopicLink}
// <<<{user defined topicmanager code}{TopicLink}{TopicLink}
} // class TopicLink Manager
}
56dda3bf593001f149819a26db4e5fe44961cba8
Concept:Action
108
131
175
2015-11-06T06:46:52Z
Wf
1
created by WikiTask 2015-11-06T06:46:50Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=Action
|pluralName=Actions
|icon=
|iconUrl=
|documentation=
|wikiDocumentation=
|defaultstoremode=
|cargo=
|context=MetaModel
|storemode=property
}}
{{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Topic/{{FULLPAGENAME}}|title=edit Action}}<br>
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
=== uml ===
<uml>
title Action
note as ActionDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as ActionNote
end note
class Action {
Text servicetype
Text service
Text inputtype
Text input
Text actionpage
Text output
}
ActionNote .. Action
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[Category:Action]]
|Actions
see also
* [[List of Actions]]
* [[Help:Action]]
* [[Concept:Action]]
* [[:Category:Action]]
* [[:Template:Action]]
* [[:Form:Action]]
topic links:
}}
[[Category:Action]]
b456f1253fbb340b3038e3e409e3f2500086f425
Concept:TopicLink/Properties
108
132
176
2015-11-06T06:46:55Z
Wf
1
created by WikiTask 2015-11-06T06:46:54Z
wikitext
text/x-wiki
== properties of TopicLink ==
=== [[Property:TopicLink name]] ===
<pre>
{{Property
|name=name
|documentation=The name of the topic link
|type=Special:Types/Text
|label=name
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=1
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:TopicLink source]] ===
<pre>
{{Property
|name=source
|documentation=the source of a topic Link
|type=Special:Types/Page
|label=source
|primaryKey=false
|mandatory=true
|uploadable=false
|size=50
|index=2
|sortPos=
|defaultValue=
|inputType=dropdown
|allowedValues=
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:TopicLink sourceRole]] ===
<pre>
{{Property
|name=sourceRole
|documentation=
|type=Special:Types/Text
|label=sourceRole
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=3
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:TopicLink sourceMultiple]] ===
<pre>
{{Property
|name=sourceMultiple
|documentation=
|type=Special:Types/Boolean
|label=sourceMultiple
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=4
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:TopicLink sourceDocumentation]] ===
<pre>
{{Property
|name=sourceDocumentation
|documentation=Documentation for the source Role
|type=Special:Types/Text
|label=source Doc
|primaryKey=false
|mandatory=false
|uploadable=false
|size=300
|index=5
|sortPos=
|defaultValue=
|inputType=textarea
|allowedValues=
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:TopicLink target]] ===
<pre>
{{Property
|name=target
|documentation=
|type=Special:Types/Page
|label=target
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=6
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:TopicLink targetRole]] ===
<pre>
{{Property
|name=targetRole
|documentation=
|type=Special:Types/Text
|label=targetRole
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=7
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:TopicLink targetMultiple]] ===
<pre>
{{Property
|name=targetMultiple
|documentation=
|type=Special:Types/Boolean
|label=sourceMultiple
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=8
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:TopicLink targetDocumentation]] ===
<pre>
{{Property
|name=targetDocumentation
|documentation=Documentation for the target Role
|type=Special:Types/Text
|label=target Doc
|primaryKey=false
|mandatory=false
|uploadable=false
|size=300
|index=9
|sortPos=
|defaultValue=
|inputType=textarea
|allowedValues=
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:TopicLink masterDetail]] ===
<pre>
{{Property
|name=masterDetail
|documentation=should the details be displayed in the same form and template?
If no
* for a 1:1 link there will be a linking attribute used and that can be selected.
* for a 1:n link a link to the list of neighbours will be displayed
if yes
* for a 1:1 link the details
* for a 1:n link
|type=Special:Types/Boolean
|label=masterDetail
|primaryKey=false
|mandatory=false
|uploadable=false
|size=
|index=10
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
8c51a947da3f030fec90e4a097e5d8aefa9e0b9b
Help:Topic
12
133
177
2015-11-06T06:46:59Z
Wf
1
created by WikiTask 2015-11-06T06:46:56Z
wikitext
text/x-wiki
== Help for Topic ==
{{#ask: [[Topic name::Topic]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
=== Documentation ===
A Topic is a Concept/Class/Thing/Entity
=== Example Topics ===
{{#ask: [[Concept:Topic]]
}}
=== Properties ===
{{#ask: [[Concept:Property]][[Property topic::Concept:Topic]]
| ?Property documentation = documentation
| ?Property type = type
| ?Property name = name
| ?Property label = label
| ?Property allowedValues = allowedValues
| ?Property mandatory = mandatory
| ?Property uploadable = uploadable
|format=table
}}
=== uml ===
<uml>
title Topic
note as TopicDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as TopicNote
A Topic is a Concept/Class/Thing/Entity
end note
class Topic {
Text name
Text pluralName
Page icon
URL iconUrl
Text documentation
Text wikiDocumentation
Text defaultstoremode
Number listLimit
Boolean cargo
Page context
}
TopicNote .. Topic
Topic "topic (1)" -- "properties(*)" Property
Context "context (1)" -- "topics(*)" Topic
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
see also
* [[List of Topics]]
* [[Help:Topic]]
* [[Concept:Topic]]
* [[:Category:Topic]]
* [[:Template:Topic]]
* [[:Form:Topic]]
topic links:
* [[:Category:Property]]
[[Category:Topic]]
cd3d5f7e776d7ee090d7dde565a0cc5c7989b9db
Help:TopicLink
12
134
178
2015-11-06T06:47:03Z
Wf
1
created by WikiTask 2015-11-06T06:47:00Z
wikitext
text/x-wiki
== Help for TopicLink ==
{{#ask: [[Topic name::TopicLink]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
=== Documentation ===
A TopicLink links two [[Concept:Topic]]s
=== Example TopicLinks ===
{{#ask: [[Concept:TopicLink]]
}}
=== Properties ===
{{#ask: [[Concept:Property]][[Property topic::Concept:TopicLink]]
| ?Property documentation = documentation
| ?Property type = type
| ?Property name = name
| ?Property label = label
| ?Property allowedValues = allowedValues
| ?Property mandatory = mandatory
| ?Property uploadable = uploadable
|format=table
}}
=== uml ===
<uml>
title TopicLink
note as TopicLinkDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as TopicLinkNote
A TopicLink links two Concepts
end note
class TopicLink {
Text name
Page source
Text sourceRole
Boolean sourceMultiple
Text sourceDocumentation
Page target
Text targetRole
Boolean targetMultiple
Text targetDocumentation
Boolean masterDetail
}
TopicLinkNote .. TopicLink
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
see also
* [[List of TopicLinks]]
* [[Help:TopicLink]]
* [[Concept:TopicLink]]
* [[:Category:TopicLink]]
* [[:Template:TopicLink]]
* [[:Form:TopicLink]]
topic links:
[[Category:TopicLink]]
7d821455543b4fac01e47838775f9ca93e752e6b
Form:Action
106
135
179
2015-11-06T06:47:06Z
Wf
1
created by WikiTask 2015-11-06T06:47:05Z
wikitext
text/x-wiki
<noinclude>
This is the {{smartMediaWiki}}-Form for "Action".
Create a new Action by entering a new pagename for a Action
into the field below.
If you enter an existing Action pagename - you will edit the Action
with that pagename.
{{#forminput:form=Action|values from concept=Action}}
</noinclude><includeonly>
<div id="wikiPreview" style="display: none; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #AAAAAA;"></div>
<!-- Action -->
{{{for template|Action}}}
{| class="wikitable"
! colspan='2'| Action
|-
! servicetype:
<!-- Text servicetype -->
| {{{field|servicetype|input type=|property=Action servicetype|size=}}}
|-
! service:
<!-- Text service -->
| {{{field|service|input type=|property=Action service|size=}}}
|-
! inputtype:
<!-- Text inputtype -->
| {{{field|inputtype|input type=|property=Action inputtype|size=}}}
|-
! input:
<!-- Text input -->
| {{{field|input|input type=|property=Action input|size=}}}
|-
! actionpage:
<!-- Text actionpage -->
| {{{field|actionpage|input type=|property=Action actionpage|size=}}}
|-
! output:
<!-- Text output -->
| {{{field|output|input type=|property=Action output|size=}}}
|-
|}
{{{field|storemode|default=|hidden}}}
{{{end template}}}
<!-- Action -->
'''Freitext:'''
{{{standard input|free text|rows=10}}}
{{{standard input|summary}}}
{{{standard input|minor edit}}} {{{standard input|watch}}}
{{{standard input|save}}} {{{standard input|preview}}} {{{standard input|changes}}} {{{standard input|cancel}}}
</includeonly>
3751c825bb31a6e9c2c79c75e31b806a5fe59651
Category:TopicLink
14
136
180
2015-11-06T06:47:10Z
Wf
1
created by WikiTask 2015-11-06T06:47:08Z
wikitext
text/x-wiki
__NOTOC__
{{#ask: [[Topic name::TopicLink]] | ?Topic wikiDocumentation= | mainlabel=-}}
TopicLinks may be added and edited with the form [[has default form::TopicLink]]
* [[List of TopicLinks]]
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
TopicLink description
<div class="mw-collapsible-content">
=== uml ===
<uml>
title TopicLink
note as TopicLinkDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as TopicLinkNote
A TopicLink links two Concepts
end note
class TopicLink {
Text name
Page source
Text sourceRole
Boolean sourceMultiple
Text sourceDocumentation
Page target
Text targetRole
Boolean targetMultiple
Text targetDocumentation
Boolean masterDetail
}
TopicLinkNote .. TopicLink
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
* [[Help:TopicLink]]
* [[Concept:TopicLink]]
* [[:Template:TopicLink]]
* [[:Form:TopicLink]]
=== Properties ===
* [[Property:TopicLink name]]
* [[Property:TopicLink source]]
* [[Property:TopicLink sourceRole]]
* [[Property:TopicLink sourceMultiple]]
* [[Property:TopicLink sourceDocumentation]]
* [[Property:TopicLink target]]
* [[Property:TopicLink targetRole]]
* [[Property:TopicLink targetMultiple]]
* [[Property:TopicLink targetDocumentation]]
* [[Property:TopicLink masterDetail]]
</div>
</div>
7b2ea59c63f0d7d141b6f2693e82a4c2c3792c7e
Concept:SMW Type/Java
108
137
181
2015-11-06T06:47:13Z
Wf
1
created by WikiTask 2015-11-06T06:47:12Z
wikitext
text/x-wiki
=== java code ===
<source lang='java' id='javacode'>@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@def static {
/**
* Base class
*/
static abstract class TopicBase {
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
/**
* Context
* A Context groups some topics like a Namespace/Package
*/
public static class Context extends TopicBase {
public String pageid;
public String name;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
/**
* convert this Context to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Context
*/
public Context() {}
/**
* construct a Context from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pContextTriple - the triple to construct me from
*/
public Context(TripleQuery query,Triple pContextTriple) {
this(query,pContextTriple.getSubject().toString());
} // constructor
/**
* construct a Context from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Context(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Context_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
init(query);
} // constructor for Context
// >>>{user defined topic code}{Context}{Context}
// <<<{user defined topic code}{Context}{Context}
} // class Context
/**
* Manager for Context
*/
public static class ContextManager extends TopicBase {
public String topicName="Context";
public transient List<Context> mContexts=new ArrayList<Context>();
public transient Map<String,Context> mContextMap=new LinkedHashMap<String,Context>();
/**
* get my Contexts
*/
public List<Context> getContexts() {
List<Context> result=this.mContexts;
return result;
}
/**
* add a new Context
*/
public Context add(Context pContext) {
mContexts.add(pContext);
mContextMap.put(pContext.getPageid(),pContext);
return pContext;
}
/**
* add a new Context from the given triple
*/
public Context add(TripleQuery query,Triple pContextTriple) {
Context lContext=new Context(query,pContextTriple);
add(lContext);
return lContext;
}
// reinitialize my mContext map
public void reinit() {
mContextMap.clear();
for (Context lContext:mContexts) {
mContextMap.put(lContext.getPageid(),lContext);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static ContextManager fromJson(String json) {
ContextManager result=JSON.parseObject(json, ContextManager.class);
result.reinit();
return result;
}
// default constructor
public ContextManager() {}
// construct me from the given triple Query query
public ContextManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lContextQuery=query.query(null,"isA","Context");
for (Triple lContextTriple:lContextQuery.getTriples()) {
add(query,lContextTriple);
}
// then the SMW triplestore
lContextQuery=query.query(null,"Property:IsA","Context");
for (Triple lContextTriple:lContextQuery.getTriples()) {
add(query,lContextTriple);
}
init(query);
} // constructor for Context Manager
// >>>{user defined topicmanager code}{Context}{Context}
// <<<{user defined topicmanager code}{Context}{Context}
} // class Context Manager
/**
* Property
* a Property is a Feature/Attribute of a Topic
*/
public static class Property extends TopicBase {
public String pageid;
public String name;
public String label;
public String type;
public String index;
public String sortPos;
public String primaryKey;
public String mandatory;
public String namespace;
public String size;
public String uploadable;
public String defaultValue;
public String inputType;
public String allowedValues;
public String documentation;
public String values_from;
public String showInGrid;
public String isLink;
public String nullable;
public String topic;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getLabel() { return label; }
public void setLabel(String pLabel) { label=pLabel; }
public String getType() { return type; }
public void setType(String pType) { type=pType; }
public String getIndex() { return index; }
public void setIndex(String pIndex) { index=pIndex; }
public String getSortPos() { return sortPos; }
public void setSortPos(String pSortPos) { sortPos=pSortPos; }
public String getPrimaryKey() { return primaryKey; }
public void setPrimaryKey(String pPrimaryKey) { primaryKey=pPrimaryKey; }
public String getMandatory() { return mandatory; }
public void setMandatory(String pMandatory) { mandatory=pMandatory; }
public String getNamespace() { return namespace; }
public void setNamespace(String pNamespace) { namespace=pNamespace; }
public String getSize() { return size; }
public void setSize(String pSize) { size=pSize; }
public String getUploadable() { return uploadable; }
public void setUploadable(String pUploadable) { uploadable=pUploadable; }
public String getDefaultValue() { return defaultValue; }
public void setDefaultValue(String pDefaultValue) { defaultValue=pDefaultValue; }
public String getInputType() { return inputType; }
public void setInputType(String pInputType) { inputType=pInputType; }
public String getAllowedValues() { return allowedValues; }
public void setAllowedValues(String pAllowedValues) { allowedValues=pAllowedValues; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getValues_from() { return values_from; }
public void setValues_from(String pValues_from) { values_from=pValues_from; }
public String getShowInGrid() { return showInGrid; }
public void setShowInGrid(String pShowInGrid) { showInGrid=pShowInGrid; }
public String getIsLink() { return isLink; }
public void setIsLink(String pIsLink) { isLink=pIsLink; }
public String getNullable() { return nullable; }
public void setNullable(String pNullable) { nullable=pNullable; }
public String getTopic() { return topic; }
public void setTopic(String pTopic) { topic=pTopic; }
/**
* convert this Property to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Property
*/
public Property() {}
/**
* construct a Property from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pPropertyTriple - the triple to construct me from
*/
public Property(TripleQuery query,Triple pPropertyTriple) {
this(query,pPropertyTriple.getSubject().toString());
} // constructor
/**
* construct a Property from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Property(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Property_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple labelTriple=query.selectSingle(pageid,"label",null);
if (labelTriple==null)
labelTriple=query.selectSingle(pageid,"Property:Property_label",null);
if (labelTriple!=null)
label=labelTriple.getObject().toString();
Triple typeTriple=query.selectSingle(pageid,"type",null);
if (typeTriple==null)
typeTriple=query.selectSingle(pageid,"Property:Property_type",null);
if (typeTriple!=null)
type=typeTriple.getObject().toString();
Triple indexTriple=query.selectSingle(pageid,"index",null);
if (indexTriple==null)
indexTriple=query.selectSingle(pageid,"Property:Property_index",null);
if (indexTriple!=null)
index=indexTriple.getObject().toString();
Triple sortPosTriple=query.selectSingle(pageid,"sortPos",null);
if (sortPosTriple==null)
sortPosTriple=query.selectSingle(pageid,"Property:Property_sortPos",null);
if (sortPosTriple!=null)
sortPos=sortPosTriple.getObject().toString();
Triple primaryKeyTriple=query.selectSingle(pageid,"primaryKey",null);
if (primaryKeyTriple==null)
primaryKeyTriple=query.selectSingle(pageid,"Property:Property_primaryKey",null);
if (primaryKeyTriple!=null)
primaryKey=primaryKeyTriple.getObject().toString();
Triple mandatoryTriple=query.selectSingle(pageid,"mandatory",null);
if (mandatoryTriple==null)
mandatoryTriple=query.selectSingle(pageid,"Property:Property_mandatory",null);
if (mandatoryTriple!=null)
mandatory=mandatoryTriple.getObject().toString();
Triple namespaceTriple=query.selectSingle(pageid,"namespace",null);
if (namespaceTriple==null)
namespaceTriple=query.selectSingle(pageid,"Property:Property_namespace",null);
if (namespaceTriple!=null)
namespace=namespaceTriple.getObject().toString();
Triple sizeTriple=query.selectSingle(pageid,"size",null);
if (sizeTriple==null)
sizeTriple=query.selectSingle(pageid,"Property:Property_size",null);
if (sizeTriple!=null)
size=sizeTriple.getObject().toString();
Triple uploadableTriple=query.selectSingle(pageid,"uploadable",null);
if (uploadableTriple==null)
uploadableTriple=query.selectSingle(pageid,"Property:Property_uploadable",null);
if (uploadableTriple!=null)
uploadable=uploadableTriple.getObject().toString();
Triple defaultValueTriple=query.selectSingle(pageid,"defaultValue",null);
if (defaultValueTriple==null)
defaultValueTriple=query.selectSingle(pageid,"Property:Property_defaultValue",null);
if (defaultValueTriple!=null)
defaultValue=defaultValueTriple.getObject().toString();
Triple inputTypeTriple=query.selectSingle(pageid,"inputType",null);
if (inputTypeTriple==null)
inputTypeTriple=query.selectSingle(pageid,"Property:Property_inputType",null);
if (inputTypeTriple!=null)
inputType=inputTypeTriple.getObject().toString();
Triple allowedValuesTriple=query.selectSingle(pageid,"allowedValues",null);
if (allowedValuesTriple==null)
allowedValuesTriple=query.selectSingle(pageid,"Property:Property_allowedValues",null);
if (allowedValuesTriple!=null)
allowedValues=allowedValuesTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Property_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple values_fromTriple=query.selectSingle(pageid,"values_from",null);
if (values_fromTriple==null)
values_fromTriple=query.selectSingle(pageid,"Property:Property_values_from",null);
if (values_fromTriple!=null)
values_from=values_fromTriple.getObject().toString();
Triple showInGridTriple=query.selectSingle(pageid,"showInGrid",null);
if (showInGridTriple==null)
showInGridTriple=query.selectSingle(pageid,"Property:Property_showInGrid",null);
if (showInGridTriple!=null)
showInGrid=showInGridTriple.getObject().toString();
Triple isLinkTriple=query.selectSingle(pageid,"isLink",null);
if (isLinkTriple==null)
isLinkTriple=query.selectSingle(pageid,"Property:Property_isLink",null);
if (isLinkTriple!=null)
isLink=isLinkTriple.getObject().toString();
Triple nullableTriple=query.selectSingle(pageid,"nullable",null);
if (nullableTriple==null)
nullableTriple=query.selectSingle(pageid,"Property:Property_nullable",null);
if (nullableTriple!=null)
nullable=nullableTriple.getObject().toString();
Triple topicTriple=query.selectSingle(pageid,"topic",null);
if (topicTriple==null)
topicTriple=query.selectSingle(pageid,"Property:Property_topic",null);
if (topicTriple!=null)
topic=topicTriple.getObject().toString();
init(query);
} // constructor for Property
// >>>{user defined topic code}{Property}{Property}
// <<<{user defined topic code}{Property}{Property}
} // class Property
/**
* Manager for Property
*/
public static class PropertyManager extends TopicBase {
public String topicName="Property";
public transient List<Property> mPropertys=new ArrayList<Property>();
public transient Map<String,Property> mPropertyMap=new LinkedHashMap<String,Property>();
/**
* get my Properties
*/
public List<Property> getProperties() {
List<Property> result=this.mPropertys;
return result;
}
/**
* add a new Property
*/
public Property add(Property pProperty) {
mPropertys.add(pProperty);
mPropertyMap.put(pProperty.getPageid(),pProperty);
return pProperty;
}
/**
* add a new Property from the given triple
*/
public Property add(TripleQuery query,Triple pPropertyTriple) {
Property lProperty=new Property(query,pPropertyTriple);
add(lProperty);
return lProperty;
}
// reinitialize my mProperty map
public void reinit() {
mPropertyMap.clear();
for (Property lProperty:mPropertys) {
mPropertyMap.put(lProperty.getPageid(),lProperty);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static PropertyManager fromJson(String json) {
PropertyManager result=JSON.parseObject(json, PropertyManager.class);
result.reinit();
return result;
}
// default constructor
public PropertyManager() {}
// construct me from the given triple Query query
public PropertyManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lPropertyQuery=query.query(null,"isA","Property");
for (Triple lPropertyTriple:lPropertyQuery.getTriples()) {
add(query,lPropertyTriple);
}
// then the SMW triplestore
lPropertyQuery=query.query(null,"Property:IsA","Property");
for (Triple lPropertyTriple:lPropertyQuery.getTriples()) {
add(query,lPropertyTriple);
}
init(query);
} // constructor for Property Manager
// >>>{user defined topicmanager code}{Property}{Property}
// <<<{user defined topicmanager code}{Property}{Property}
} // class Property Manager
/**
* SMW_Type
* an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
*/
public static class SMW_Type extends TopicBase {
public String pageid;
public String type;
public String documentation;
public String helppage;
public String typepage;
public String javaType;
public String usedByProperties;
public String getType() { return type; }
public void setType(String pType) { type=pType; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getHelppage() { return helppage; }
public void setHelppage(String pHelppage) { helppage=pHelppage; }
public String getTypepage() { return typepage; }
public void setTypepage(String pTypepage) { typepage=pTypepage; }
public String getJavaType() { return javaType; }
public void setJavaType(String pJavaType) { javaType=pJavaType; }
public String getUsedByProperties() { return usedByProperties; }
public void setUsedByProperties(String pUsedByProperties) { usedByProperties=pUsedByProperties; }
/**
* convert this SMW_Type to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for SMW_Type
*/
public SMW_Type() {}
/**
* construct a SMW_Type from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pSMW_TypeTriple - the triple to construct me from
*/
public SMW_Type(TripleQuery query,Triple pSMW_TypeTriple) {
this(query,pSMW_TypeTriple.getSubject().toString());
} // constructor
/**
* construct a SMW_Type from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public SMW_Type(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple typeTriple=query.selectSingle(pageid,"type",null);
if (typeTriple==null)
typeTriple=query.selectSingle(pageid,"Property:SMW_Type_type",null);
if (typeTriple!=null)
type=typeTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:SMW_Type_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple helppageTriple=query.selectSingle(pageid,"helppage",null);
if (helppageTriple==null)
helppageTriple=query.selectSingle(pageid,"Property:SMW_Type_helppage",null);
if (helppageTriple!=null)
helppage=helppageTriple.getObject().toString();
Triple typepageTriple=query.selectSingle(pageid,"typepage",null);
if (typepageTriple==null)
typepageTriple=query.selectSingle(pageid,"Property:SMW_Type_typepage",null);
if (typepageTriple!=null)
typepage=typepageTriple.getObject().toString();
Triple javaTypeTriple=query.selectSingle(pageid,"javaType",null);
if (javaTypeTriple==null)
javaTypeTriple=query.selectSingle(pageid,"Property:SMW_Type_javaType",null);
if (javaTypeTriple!=null)
javaType=javaTypeTriple.getObject().toString();
Triple usedByPropertiesTriple=query.selectSingle(pageid,"usedByProperties",null);
if (usedByPropertiesTriple==null)
usedByPropertiesTriple=query.selectSingle(pageid,"Property:SMW_Type_usedByProperties",null);
if (usedByPropertiesTriple!=null)
usedByProperties=usedByPropertiesTriple.getObject().toString();
init(query);
} // constructor for SMW_Type
// >>>{user defined topic code}{SMW_Type}{SMW_Type}
// <<<{user defined topic code}{SMW_Type}{SMW_Type}
} // class SMW_Type
/**
* Manager for SMW_Type
*/
public static class SMW_TypeManager extends TopicBase {
public String topicName="SMW_Type";
public transient List<SMW_Type> mSMW_Types=new ArrayList<SMW_Type>();
public transient Map<String,SMW_Type> mSMW_TypeMap=new LinkedHashMap<String,SMW_Type>();
/**
* get my SMW_Types
*/
public List<SMW_Type> getSMW_Types() {
List<SMW_Type> result=this.mSMW_Types;
return result;
}
/**
* add a new SMW_Type
*/
public SMW_Type add(SMW_Type pSMW_Type) {
mSMW_Types.add(pSMW_Type);
mSMW_TypeMap.put(pSMW_Type.getPageid(),pSMW_Type);
return pSMW_Type;
}
/**
* add a new SMW_Type from the given triple
*/
public SMW_Type add(TripleQuery query,Triple pSMW_TypeTriple) {
SMW_Type lSMW_Type=new SMW_Type(query,pSMW_TypeTriple);
add(lSMW_Type);
return lSMW_Type;
}
// reinitialize my mSMW_Type map
public void reinit() {
mSMW_TypeMap.clear();
for (SMW_Type lSMW_Type:mSMW_Types) {
mSMW_TypeMap.put(lSMW_Type.getPageid(),lSMW_Type);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static SMW_TypeManager fromJson(String json) {
SMW_TypeManager result=JSON.parseObject(json, SMW_TypeManager.class);
result.reinit();
return result;
}
// default constructor
public SMW_TypeManager() {}
// construct me from the given triple Query query
public SMW_TypeManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lSMW_TypeQuery=query.query(null,"isA","SMW_Type");
for (Triple lSMW_TypeTriple:lSMW_TypeQuery.getTriples()) {
add(query,lSMW_TypeTriple);
}
// then the SMW triplestore
lSMW_TypeQuery=query.query(null,"Property:IsA","SMW_Type");
for (Triple lSMW_TypeTriple:lSMW_TypeQuery.getTriples()) {
add(query,lSMW_TypeTriple);
}
init(query);
} // constructor for SMW_Type Manager
// >>>{user defined topicmanager code}{SMW_Type}{SMW_Type}
// <<<{user defined topicmanager code}{SMW_Type}{SMW_Type}
} // class SMW_Type Manager
/**
* Topic
* A Topic is a Concept/Class/Thing/Entity
*/
public static class Topic extends TopicBase {
public String pageid;
public String name;
public String pluralName;
public String icon;
public String iconUrl;
public String documentation;
public String wikiDocumentation;
public String defaultstoremode;
public String listLimit;
public String cargo;
public String context;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getPluralName() { return pluralName; }
public void setPluralName(String pPluralName) { pluralName=pPluralName; }
public String getIcon() { return icon; }
public void setIcon(String pIcon) { icon=pIcon; }
public String getIconUrl() { return iconUrl; }
public void setIconUrl(String pIconUrl) { iconUrl=pIconUrl; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getWikiDocumentation() { return wikiDocumentation; }
public void setWikiDocumentation(String pWikiDocumentation) { wikiDocumentation=pWikiDocumentation; }
public String getDefaultstoremode() { return defaultstoremode; }
public void setDefaultstoremode(String pDefaultstoremode) { defaultstoremode=pDefaultstoremode; }
public String getListLimit() { return listLimit; }
public void setListLimit(String pListLimit) { listLimit=pListLimit; }
public String getCargo() { return cargo; }
public void setCargo(String pCargo) { cargo=pCargo; }
public String getContext() { return context; }
public void setContext(String pContext) { context=pContext; }
/**
* convert this Topic to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Topic
*/
public Topic() {}
/**
* construct a Topic from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTopicTriple - the triple to construct me from
*/
public Topic(TripleQuery query,Triple pTopicTriple) {
this(query,pTopicTriple.getSubject().toString());
} // constructor
/**
* construct a Topic from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Topic(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Topic_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple pluralNameTriple=query.selectSingle(pageid,"pluralName",null);
if (pluralNameTriple==null)
pluralNameTriple=query.selectSingle(pageid,"Property:Topic_pluralName",null);
if (pluralNameTriple!=null)
pluralName=pluralNameTriple.getObject().toString();
Triple iconTriple=query.selectSingle(pageid,"icon",null);
if (iconTriple==null)
iconTriple=query.selectSingle(pageid,"Property:Topic_icon",null);
if (iconTriple!=null)
icon=iconTriple.getObject().toString();
Triple iconUrlTriple=query.selectSingle(pageid,"iconUrl",null);
if (iconUrlTriple==null)
iconUrlTriple=query.selectSingle(pageid,"Property:Topic_iconUrl",null);
if (iconUrlTriple!=null)
iconUrl=iconUrlTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Topic_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple wikiDocumentationTriple=query.selectSingle(pageid,"wikiDocumentation",null);
if (wikiDocumentationTriple==null)
wikiDocumentationTriple=query.selectSingle(pageid,"Property:Topic_wikiDocumentation",null);
if (wikiDocumentationTriple!=null)
wikiDocumentation=wikiDocumentationTriple.getObject().toString();
Triple defaultstoremodeTriple=query.selectSingle(pageid,"defaultstoremode",null);
if (defaultstoremodeTriple==null)
defaultstoremodeTriple=query.selectSingle(pageid,"Property:Topic_defaultstoremode",null);
if (defaultstoremodeTriple!=null)
defaultstoremode=defaultstoremodeTriple.getObject().toString();
Triple listLimitTriple=query.selectSingle(pageid,"listLimit",null);
if (listLimitTriple==null)
listLimitTriple=query.selectSingle(pageid,"Property:Topic_listLimit",null);
if (listLimitTriple!=null)
listLimit=listLimitTriple.getObject().toString();
Triple cargoTriple=query.selectSingle(pageid,"cargo",null);
if (cargoTriple==null)
cargoTriple=query.selectSingle(pageid,"Property:Topic_cargo",null);
if (cargoTriple!=null)
cargo=cargoTriple.getObject().toString();
Triple contextTriple=query.selectSingle(pageid,"context",null);
if (contextTriple==null)
contextTriple=query.selectSingle(pageid,"Property:Topic_context",null);
if (contextTriple!=null)
context=contextTriple.getObject().toString();
init(query);
} // constructor for Topic
// >>>{user defined topic code}{Topic}{Topic}
// <<<{user defined topic code}{Topic}{Topic}
} // class Topic
/**
* Manager for Topic
*/
public static class TopicManager extends TopicBase {
public String topicName="Topic";
public transient List<Topic> mTopics=new ArrayList<Topic>();
public transient Map<String,Topic> mTopicMap=new LinkedHashMap<String,Topic>();
/**
* get my Topics
*/
public List<Topic> getTopics() {
List<Topic> result=this.mTopics;
return result;
}
/**
* add a new Topic
*/
public Topic add(Topic pTopic) {
mTopics.add(pTopic);
mTopicMap.put(pTopic.getPageid(),pTopic);
return pTopic;
}
/**
* add a new Topic from the given triple
*/
public Topic add(TripleQuery query,Triple pTopicTriple) {
Topic lTopic=new Topic(query,pTopicTriple);
add(lTopic);
return lTopic;
}
// reinitialize my mTopic map
public void reinit() {
mTopicMap.clear();
for (Topic lTopic:mTopics) {
mTopicMap.put(lTopic.getPageid(),lTopic);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TopicManager fromJson(String json) {
TopicManager result=JSON.parseObject(json, TopicManager.class);
result.reinit();
return result;
}
// default constructor
public TopicManager() {}
// construct me from the given triple Query query
public TopicManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicQuery=query.query(null,"isA","Topic");
for (Triple lTopicTriple:lTopicQuery.getTriples()) {
add(query,lTopicTriple);
}
// then the SMW triplestore
lTopicQuery=query.query(null,"Property:IsA","Topic");
for (Triple lTopicTriple:lTopicQuery.getTriples()) {
add(query,lTopicTriple);
}
init(query);
} // constructor for Topic Manager
// >>>{user defined topicmanager code}{Topic}{Topic}
// <<<{user defined topicmanager code}{Topic}{Topic}
} // class Topic Manager
/**
* Action
*
*/
public static class Action extends TopicBase {
public String pageid;
public String servicetype;
public String service;
public String inputtype;
public String input;
public String actionpage;
public String output;
public String getServicetype() { return servicetype; }
public void setServicetype(String pServicetype) { servicetype=pServicetype; }
public String getService() { return service; }
public void setService(String pService) { service=pService; }
public String getInputtype() { return inputtype; }
public void setInputtype(String pInputtype) { inputtype=pInputtype; }
public String getInput() { return input; }
public void setInput(String pInput) { input=pInput; }
public String getActionpage() { return actionpage; }
public void setActionpage(String pActionpage) { actionpage=pActionpage; }
public String getOutput() { return output; }
public void setOutput(String pOutput) { output=pOutput; }
/**
* convert this Action to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Action
*/
public Action() {}
/**
* construct a Action from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pActionTriple - the triple to construct me from
*/
public Action(TripleQuery query,Triple pActionTriple) {
this(query,pActionTriple.getSubject().toString());
} // constructor
/**
* construct a Action from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Action(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple servicetypeTriple=query.selectSingle(pageid,"servicetype",null);
if (servicetypeTriple==null)
servicetypeTriple=query.selectSingle(pageid,"Property:Action_servicetype",null);
if (servicetypeTriple!=null)
servicetype=servicetypeTriple.getObject().toString();
Triple serviceTriple=query.selectSingle(pageid,"service",null);
if (serviceTriple==null)
serviceTriple=query.selectSingle(pageid,"Property:Action_service",null);
if (serviceTriple!=null)
service=serviceTriple.getObject().toString();
Triple inputtypeTriple=query.selectSingle(pageid,"inputtype",null);
if (inputtypeTriple==null)
inputtypeTriple=query.selectSingle(pageid,"Property:Action_inputtype",null);
if (inputtypeTriple!=null)
inputtype=inputtypeTriple.getObject().toString();
Triple inputTriple=query.selectSingle(pageid,"input",null);
if (inputTriple==null)
inputTriple=query.selectSingle(pageid,"Property:Action_input",null);
if (inputTriple!=null)
input=inputTriple.getObject().toString();
Triple actionpageTriple=query.selectSingle(pageid,"actionpage",null);
if (actionpageTriple==null)
actionpageTriple=query.selectSingle(pageid,"Property:Action_actionpage",null);
if (actionpageTriple!=null)
actionpage=actionpageTriple.getObject().toString();
Triple outputTriple=query.selectSingle(pageid,"output",null);
if (outputTriple==null)
outputTriple=query.selectSingle(pageid,"Property:Action_output",null);
if (outputTriple!=null)
output=outputTriple.getObject().toString();
init(query);
} // constructor for Action
// >>>{user defined topic code}{Action}{Action}
// <<<{user defined topic code}{Action}{Action}
} // class Action
/**
* Manager for Action
*/
public static class ActionManager extends TopicBase {
public String topicName="Action";
public transient List<Action> mActions=new ArrayList<Action>();
public transient Map<String,Action> mActionMap=new LinkedHashMap<String,Action>();
/**
* get my Actions
*/
public List<Action> getActions() {
List<Action> result=this.mActions;
return result;
}
/**
* add a new Action
*/
public Action add(Action pAction) {
mActions.add(pAction);
mActionMap.put(pAction.getPageid(),pAction);
return pAction;
}
/**
* add a new Action from the given triple
*/
public Action add(TripleQuery query,Triple pActionTriple) {
Action lAction=new Action(query,pActionTriple);
add(lAction);
return lAction;
}
// reinitialize my mAction map
public void reinit() {
mActionMap.clear();
for (Action lAction:mActions) {
mActionMap.put(lAction.getPageid(),lAction);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static ActionManager fromJson(String json) {
ActionManager result=JSON.parseObject(json, ActionManager.class);
result.reinit();
return result;
}
// default constructor
public ActionManager() {}
// construct me from the given triple Query query
public ActionManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lActionQuery=query.query(null,"isA","Action");
for (Triple lActionTriple:lActionQuery.getTriples()) {
add(query,lActionTriple);
}
// then the SMW triplestore
lActionQuery=query.query(null,"Property:IsA","Action");
for (Triple lActionTriple:lActionQuery.getTriples()) {
add(query,lActionTriple);
}
init(query);
} // constructor for Action Manager
// >>>{user defined topicmanager code}{Action}{Action}
// <<<{user defined topicmanager code}{Action}{Action}
} // class Action Manager
/**
* TopicLink
* A TopicLink links two Concepts
*/
public static class TopicLink extends TopicBase {
public String pageid;
public String name;
public String source;
public String sourceRole;
public String sourceMultiple;
public String sourceDocumentation;
public String target;
public String targetRole;
public String targetMultiple;
public String targetDocumentation;
public String masterDetail;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getSource() { return source; }
public void setSource(String pSource) { source=pSource; }
public String getSourceRole() { return sourceRole; }
public void setSourceRole(String pSourceRole) { sourceRole=pSourceRole; }
public String getSourceMultiple() { return sourceMultiple; }
public void setSourceMultiple(String pSourceMultiple) { sourceMultiple=pSourceMultiple; }
public String getSourceDocumentation() { return sourceDocumentation; }
public void setSourceDocumentation(String pSourceDocumentation) { sourceDocumentation=pSourceDocumentation; }
public String getTarget() { return target; }
public void setTarget(String pTarget) { target=pTarget; }
public String getTargetRole() { return targetRole; }
public void setTargetRole(String pTargetRole) { targetRole=pTargetRole; }
public String getTargetMultiple() { return targetMultiple; }
public void setTargetMultiple(String pTargetMultiple) { targetMultiple=pTargetMultiple; }
public String getTargetDocumentation() { return targetDocumentation; }
public void setTargetDocumentation(String pTargetDocumentation) { targetDocumentation=pTargetDocumentation; }
public String getMasterDetail() { return masterDetail; }
public void setMasterDetail(String pMasterDetail) { masterDetail=pMasterDetail; }
/**
* convert this TopicLink to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for TopicLink
*/
public TopicLink() {}
/**
* construct a TopicLink from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTopicLinkTriple - the triple to construct me from
*/
public TopicLink(TripleQuery query,Triple pTopicLinkTriple) {
this(query,pTopicLinkTriple.getSubject().toString());
} // constructor
/**
* construct a TopicLink from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public TopicLink(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:TopicLink_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple sourceTriple=query.selectSingle(pageid,"source",null);
if (sourceTriple==null)
sourceTriple=query.selectSingle(pageid,"Property:TopicLink_source",null);
if (sourceTriple!=null)
source=sourceTriple.getObject().toString();
Triple sourceRoleTriple=query.selectSingle(pageid,"sourceRole",null);
if (sourceRoleTriple==null)
sourceRoleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceRole",null);
if (sourceRoleTriple!=null)
sourceRole=sourceRoleTriple.getObject().toString();
Triple sourceMultipleTriple=query.selectSingle(pageid,"sourceMultiple",null);
if (sourceMultipleTriple==null)
sourceMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceMultiple",null);
if (sourceMultipleTriple!=null)
sourceMultiple=sourceMultipleTriple.getObject().toString();
Triple sourceDocumentationTriple=query.selectSingle(pageid,"sourceDocumentation",null);
if (sourceDocumentationTriple==null)
sourceDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_sourceDocumentation",null);
if (sourceDocumentationTriple!=null)
sourceDocumentation=sourceDocumentationTriple.getObject().toString();
Triple targetTriple=query.selectSingle(pageid,"target",null);
if (targetTriple==null)
targetTriple=query.selectSingle(pageid,"Property:TopicLink_target",null);
if (targetTriple!=null)
target=targetTriple.getObject().toString();
Triple targetRoleTriple=query.selectSingle(pageid,"targetRole",null);
if (targetRoleTriple==null)
targetRoleTriple=query.selectSingle(pageid,"Property:TopicLink_targetRole",null);
if (targetRoleTriple!=null)
targetRole=targetRoleTriple.getObject().toString();
Triple targetMultipleTriple=query.selectSingle(pageid,"targetMultiple",null);
if (targetMultipleTriple==null)
targetMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_targetMultiple",null);
if (targetMultipleTriple!=null)
targetMultiple=targetMultipleTriple.getObject().toString();
Triple targetDocumentationTriple=query.selectSingle(pageid,"targetDocumentation",null);
if (targetDocumentationTriple==null)
targetDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_targetDocumentation",null);
if (targetDocumentationTriple!=null)
targetDocumentation=targetDocumentationTriple.getObject().toString();
Triple masterDetailTriple=query.selectSingle(pageid,"masterDetail",null);
if (masterDetailTriple==null)
masterDetailTriple=query.selectSingle(pageid,"Property:TopicLink_masterDetail",null);
if (masterDetailTriple!=null)
masterDetail=masterDetailTriple.getObject().toString();
init(query);
} // constructor for TopicLink
// >>>{user defined topic code}{TopicLink}{TopicLink}
// <<<{user defined topic code}{TopicLink}{TopicLink}
} // class TopicLink
/**
* Manager for TopicLink
*/
public static class TopicLinkManager extends TopicBase {
public String topicName="TopicLink";
public transient List<TopicLink> mTopicLinks=new ArrayList<TopicLink>();
public transient Map<String,TopicLink> mTopicLinkMap=new LinkedHashMap<String,TopicLink>();
/**
* get my TopicLinks
*/
public List<TopicLink> getTopicLinks() {
List<TopicLink> result=this.mTopicLinks;
return result;
}
/**
* add a new TopicLink
*/
public TopicLink add(TopicLink pTopicLink) {
mTopicLinks.add(pTopicLink);
mTopicLinkMap.put(pTopicLink.getPageid(),pTopicLink);
return pTopicLink;
}
/**
* add a new TopicLink from the given triple
*/
public TopicLink add(TripleQuery query,Triple pTopicLinkTriple) {
TopicLink lTopicLink=new TopicLink(query,pTopicLinkTriple);
add(lTopicLink);
return lTopicLink;
}
// reinitialize my mTopicLink map
public void reinit() {
mTopicLinkMap.clear();
for (TopicLink lTopicLink:mTopicLinks) {
mTopicLinkMap.put(lTopicLink.getPageid(),lTopicLink);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TopicLinkManager fromJson(String json) {
TopicLinkManager result=JSON.parseObject(json, TopicLinkManager.class);
result.reinit();
return result;
}
// default constructor
public TopicLinkManager() {}
// construct me from the given triple Query query
public TopicLinkManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicLinkQuery=query.query(null,"isA","TopicLink");
for (Triple lTopicLinkTriple:lTopicLinkQuery.getTriples()) {
add(query,lTopicLinkTriple);
}
// then the SMW triplestore
lTopicLinkQuery=query.query(null,"Property:IsA","TopicLink");
for (Triple lTopicLinkTriple:lTopicLinkQuery.getTriples()) {
add(query,lTopicLinkTriple);
}
init(query);
} // constructor for TopicLink Manager
// >>>{user defined topicmanager code}{TopicLink}{TopicLink}
// <<<{user defined topicmanager code}{TopicLink}{TopicLink}
} // class TopicLink Manager
}
56dda3bf593001f149819a26db4e5fe44961cba8
Template:SMW Type
10
138
182
2015-11-06T06:47:20Z
Wf
1
created by WikiTask 2015-11-06T06:47:19Z
wikitext
text/x-wiki
<noinclude>
<!--
-- Copyright (C) 2015 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->
This is the template {{Link|target=Template:SMW_Type|title=SMW_Type}}.
It belongs to the concept/topic {{Link|target=:Concept:SMW_Type}}<br>
You may find examples for the use of this template via the {{Link|target=List of SMW_Types}}.
=== Usage ===
==== storemode subobject ====
<pre>{{SMW_Type
|type=
|documentation=
|helppage=
|typepage=
|javaType=
|usedByProperties=
|storemode=subobject
}}
</pre>
==== storemode property ====
<pre>{{SMW_Type
|type=
|documentation=
|helppage=
|typepage=
|javaType=
|usedByProperties=
|storemode=property
}}
</pre>
==== storemode none ====
<pre>{{SMW_Type
|type=
|documentation=
|helppage=
|typepage=
|javaType=
|usedByProperties=
|storemode=none
}}
</pre>
==== viewmode tableheader ====
<pre>{{SMW_Type
|type=
|documentation=
|helppage=
|typepage=
|javaType=
|usedByProperties=
|viewmode=tableheader
}}
</pre>
==== viewmode tablerow ====
<pre>{{SMW_Type
|type=
|documentation=
|helppage=
|typepage=
|javaType=
|usedByProperties=
|viewmode=tablerow
}}
</pre>
==== viewmode tablefooter ====
<pre>{{SMW_Type
|type=
|documentation=
|helppage=
|typepage=
|javaType=
|usedByProperties=
|viewmode=tablefooter
}}
</pre>
==== viewmode labelfield ====
<pre>{{SMW_Type
|type=
|documentation=
|helppage=
|typepage=
|javaType=
|usedByProperties=
|viewmode=labelfield
}}
</pre>
=== Source ===
<source lang='html4strict'>
{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA SMW_Type<br>|}}
{{#if:{{{?type|}}}|"{{{?type}}}" is type of it <br>|}}
{{#if:{{{?documentation|}}}|"{{{?documentation}}}" is documentation of it <br>|}}
{{#if:{{{?helppage|}}}|"{{{?helppage}}}" is helppage of it <br>|}}
{{#if:{{{?typepage|}}}|"{{{?typepage}}}" is typepage of it <br>|}}
{{#if:{{{?javaType|}}}|"{{{?javaType}}}" is javaType of it <br>|}}
{{#if:{{{?usedByProperties|}}}|"{{{?usedByProperties}}}" is usedByProperties of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|subobject={{#subobject:-
|isA=SMW_Type
|SMW_Type type={{{type|}}}
|SMW_Type documentation={{{documentation|}}}
|SMW_Type helppage={{{helppage|}}}
|SMW_Type typepage={{{typepage|}}}
|SMW_Type javaType={{{javaType|}}}
|SMW_Type usedByProperties={{{usedByProperties|}}}
}}
|{{#set:
|isA=SMW_Type
|SMW_Type type={{{type|}}}
|SMW_Type documentation={{{documentation|}}}
|SMW_Type helppage={{{helppage|}}}
|SMW_Type typepage={{{typepage|}}}
|SMW_Type javaType={{{javaType|}}}
|SMW_Type usedByProperties={{{usedByProperties|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
|tableheader={{{!}} class='wikitable'
!type!!documentation!!helppage!!typepage!!javaType!!usedByProperties
{{!}}-
|tablerow=
{{!}}{{{type|}}}{{!}}{{!}}{{{documentation|}}}{{!}}{{!}}{{{helppage|}}}{{!}}{{!}}{{{typepage|}}}{{!}}{{!}}{{{javaType|}}}{{!}}{{!}}{{{usedByProperties|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
type={{#if:{{{type|}}}|{{{type|}}}|}}<br>documentation={{#if:{{{documentation|}}}|{{{documentation|}}}|}}<br>helppage={{#if:{{{helppage|}}}|{{{helppage|}}}|}}<br>typepage={{#if:{{{typepage|}}}|[[{{{typepage|}}}]]|}}<br>javaType={{#if:{{{javaType|}}}|{{{javaType|}}}|}}<br>usedByProperties={{#if:{{{usedByProperties|}}}|[[{{{usedByProperties|}}}]]|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}SMW_Type
{{!}}-
!type
{{!}} {{#if:{{{type|}}}|{{{type|}}}|}}
{{!}}-
!type
{{!}} {{#if:{{{documentation|}}}|{{{documentation|}}}|}}
{{!}}-
!type
{{!}} {{#if:{{{helppage|}}}|{{{helppage|}}}|}}
{{!}}-
!typepage
{{!}} {{#if:{{{typepage|}}}|[[{{{typepage|}}}]]|}}
{{!}}-
!java Type
{{!}} {{#if:{{{javaType|}}}|{{{javaType|}}}|}}
{{!}}-
!usedByProperties
{{!}} {{#if:{{{usedByProperties|}}}|[[{{{usedByProperties|}}}]]|}}
{{!}}-
{{!}}}
}}
}}
</source>
Click on "Edit" to edit the Source of this Template.
</noinclude><includeonly>{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA SMW_Type<br>|}}
{{#if:{{{?type|}}}|"{{{?type}}}" is type of it <br>|}}
{{#if:{{{?documentation|}}}|"{{{?documentation}}}" is documentation of it <br>|}}
{{#if:{{{?helppage|}}}|"{{{?helppage}}}" is helppage of it <br>|}}
{{#if:{{{?typepage|}}}|"{{{?typepage}}}" is typepage of it <br>|}}
{{#if:{{{?javaType|}}}|"{{{?javaType}}}" is javaType of it <br>|}}
{{#if:{{{?usedByProperties|}}}|"{{{?usedByProperties}}}" is usedByProperties of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|subobject={{#subobject:-
|isA=SMW_Type
|SMW_Type type={{{type|}}}
|SMW_Type documentation={{{documentation|}}}
|SMW_Type helppage={{{helppage|}}}
|SMW_Type typepage={{{typepage|}}}
|SMW_Type javaType={{{javaType|}}}
|SMW_Type usedByProperties={{{usedByProperties|}}}
}}
|{{#set:
|isA=SMW_Type
|SMW_Type type={{{type|}}}
|SMW_Type documentation={{{documentation|}}}
|SMW_Type helppage={{{helppage|}}}
|SMW_Type typepage={{{typepage|}}}
|SMW_Type javaType={{{javaType|}}}
|SMW_Type usedByProperties={{{usedByProperties|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
|tableheader={{{!}} class='wikitable'
!type!!documentation!!helppage!!typepage!!javaType!!usedByProperties
{{!}}-
|tablerow=
{{!}}{{{type|}}}{{!}}{{!}}{{{documentation|}}}{{!}}{{!}}{{{helppage|}}}{{!}}{{!}}{{{typepage|}}}{{!}}{{!}}{{{javaType|}}}{{!}}{{!}}{{{usedByProperties|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
type={{#if:{{{type|}}}|{{{type|}}}|}}<br>documentation={{#if:{{{documentation|}}}|{{{documentation|}}}|}}<br>helppage={{#if:{{{helppage|}}}|{{{helppage|}}}|}}<br>typepage={{#if:{{{typepage|}}}|[[{{{typepage|}}}]]|}}<br>javaType={{#if:{{{javaType|}}}|{{{javaType|}}}|}}<br>usedByProperties={{#if:{{{usedByProperties|}}}|[[{{{usedByProperties|}}}]]|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}SMW_Type
{{!}}-
!type
{{!}} {{#if:{{{type|}}}|{{{type|}}}|}}
{{!}}-
!type
{{!}} {{#if:{{{documentation|}}}|{{{documentation|}}}|}}
{{!}}-
!type
{{!}} {{#if:{{{helppage|}}}|{{{helppage|}}}|}}
{{!}}-
!typepage
{{!}} {{#if:{{{typepage|}}}|[[{{{typepage|}}}]]|}}
{{!}}-
!java Type
{{!}} {{#if:{{{javaType|}}}|{{{javaType|}}}|}}
{{!}}-
!usedByProperties
{{!}} {{#if:{{{usedByProperties|}}}|[[{{{usedByProperties|}}}]]|}}
{{!}}-
{{!}}}
}}
}}
</includeonly>
b4f25bdeca84da5c45e2c2e9ec0118c04a7ce33c
Concept:Property/Java
108
139
183
2015-11-06T06:47:23Z
Wf
1
created by WikiTask 2015-11-06T06:47:22Z
wikitext
text/x-wiki
=== java code ===
<source lang='java' id='javacode'>@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@def static {
/**
* Base class
*/
static abstract class TopicBase {
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
/**
* Context
* A Context groups some topics like a Namespace/Package
*/
public static class Context extends TopicBase {
public String pageid;
public String name;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
/**
* convert this Context to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Context
*/
public Context() {}
/**
* construct a Context from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pContextTriple - the triple to construct me from
*/
public Context(TripleQuery query,Triple pContextTriple) {
this(query,pContextTriple.getSubject().toString());
} // constructor
/**
* construct a Context from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Context(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Context_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
init(query);
} // constructor for Context
// >>>{user defined topic code}{Context}{Context}
// <<<{user defined topic code}{Context}{Context}
} // class Context
/**
* Manager for Context
*/
public static class ContextManager extends TopicBase {
public String topicName="Context";
public transient List<Context> mContexts=new ArrayList<Context>();
public transient Map<String,Context> mContextMap=new LinkedHashMap<String,Context>();
/**
* get my Contexts
*/
public List<Context> getContexts() {
List<Context> result=this.mContexts;
return result;
}
/**
* add a new Context
*/
public Context add(Context pContext) {
mContexts.add(pContext);
mContextMap.put(pContext.getPageid(),pContext);
return pContext;
}
/**
* add a new Context from the given triple
*/
public Context add(TripleQuery query,Triple pContextTriple) {
Context lContext=new Context(query,pContextTriple);
add(lContext);
return lContext;
}
// reinitialize my mContext map
public void reinit() {
mContextMap.clear();
for (Context lContext:mContexts) {
mContextMap.put(lContext.getPageid(),lContext);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static ContextManager fromJson(String json) {
ContextManager result=JSON.parseObject(json, ContextManager.class);
result.reinit();
return result;
}
// default constructor
public ContextManager() {}
// construct me from the given triple Query query
public ContextManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lContextQuery=query.query(null,"isA","Context");
for (Triple lContextTriple:lContextQuery.getTriples()) {
add(query,lContextTriple);
}
// then the SMW triplestore
lContextQuery=query.query(null,"Property:IsA","Context");
for (Triple lContextTriple:lContextQuery.getTriples()) {
add(query,lContextTriple);
}
init(query);
} // constructor for Context Manager
// >>>{user defined topicmanager code}{Context}{Context}
// <<<{user defined topicmanager code}{Context}{Context}
} // class Context Manager
/**
* Property
* a Property is a Feature/Attribute of a Topic
*/
public static class Property extends TopicBase {
public String pageid;
public String name;
public String label;
public String type;
public String index;
public String sortPos;
public String primaryKey;
public String mandatory;
public String namespace;
public String size;
public String uploadable;
public String defaultValue;
public String inputType;
public String allowedValues;
public String documentation;
public String values_from;
public String showInGrid;
public String isLink;
public String nullable;
public String topic;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getLabel() { return label; }
public void setLabel(String pLabel) { label=pLabel; }
public String getType() { return type; }
public void setType(String pType) { type=pType; }
public String getIndex() { return index; }
public void setIndex(String pIndex) { index=pIndex; }
public String getSortPos() { return sortPos; }
public void setSortPos(String pSortPos) { sortPos=pSortPos; }
public String getPrimaryKey() { return primaryKey; }
public void setPrimaryKey(String pPrimaryKey) { primaryKey=pPrimaryKey; }
public String getMandatory() { return mandatory; }
public void setMandatory(String pMandatory) { mandatory=pMandatory; }
public String getNamespace() { return namespace; }
public void setNamespace(String pNamespace) { namespace=pNamespace; }
public String getSize() { return size; }
public void setSize(String pSize) { size=pSize; }
public String getUploadable() { return uploadable; }
public void setUploadable(String pUploadable) { uploadable=pUploadable; }
public String getDefaultValue() { return defaultValue; }
public void setDefaultValue(String pDefaultValue) { defaultValue=pDefaultValue; }
public String getInputType() { return inputType; }
public void setInputType(String pInputType) { inputType=pInputType; }
public String getAllowedValues() { return allowedValues; }
public void setAllowedValues(String pAllowedValues) { allowedValues=pAllowedValues; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getValues_from() { return values_from; }
public void setValues_from(String pValues_from) { values_from=pValues_from; }
public String getShowInGrid() { return showInGrid; }
public void setShowInGrid(String pShowInGrid) { showInGrid=pShowInGrid; }
public String getIsLink() { return isLink; }
public void setIsLink(String pIsLink) { isLink=pIsLink; }
public String getNullable() { return nullable; }
public void setNullable(String pNullable) { nullable=pNullable; }
public String getTopic() { return topic; }
public void setTopic(String pTopic) { topic=pTopic; }
/**
* convert this Property to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Property
*/
public Property() {}
/**
* construct a Property from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pPropertyTriple - the triple to construct me from
*/
public Property(TripleQuery query,Triple pPropertyTriple) {
this(query,pPropertyTriple.getSubject().toString());
} // constructor
/**
* construct a Property from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Property(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Property_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple labelTriple=query.selectSingle(pageid,"label",null);
if (labelTriple==null)
labelTriple=query.selectSingle(pageid,"Property:Property_label",null);
if (labelTriple!=null)
label=labelTriple.getObject().toString();
Triple typeTriple=query.selectSingle(pageid,"type",null);
if (typeTriple==null)
typeTriple=query.selectSingle(pageid,"Property:Property_type",null);
if (typeTriple!=null)
type=typeTriple.getObject().toString();
Triple indexTriple=query.selectSingle(pageid,"index",null);
if (indexTriple==null)
indexTriple=query.selectSingle(pageid,"Property:Property_index",null);
if (indexTriple!=null)
index=indexTriple.getObject().toString();
Triple sortPosTriple=query.selectSingle(pageid,"sortPos",null);
if (sortPosTriple==null)
sortPosTriple=query.selectSingle(pageid,"Property:Property_sortPos",null);
if (sortPosTriple!=null)
sortPos=sortPosTriple.getObject().toString();
Triple primaryKeyTriple=query.selectSingle(pageid,"primaryKey",null);
if (primaryKeyTriple==null)
primaryKeyTriple=query.selectSingle(pageid,"Property:Property_primaryKey",null);
if (primaryKeyTriple!=null)
primaryKey=primaryKeyTriple.getObject().toString();
Triple mandatoryTriple=query.selectSingle(pageid,"mandatory",null);
if (mandatoryTriple==null)
mandatoryTriple=query.selectSingle(pageid,"Property:Property_mandatory",null);
if (mandatoryTriple!=null)
mandatory=mandatoryTriple.getObject().toString();
Triple namespaceTriple=query.selectSingle(pageid,"namespace",null);
if (namespaceTriple==null)
namespaceTriple=query.selectSingle(pageid,"Property:Property_namespace",null);
if (namespaceTriple!=null)
namespace=namespaceTriple.getObject().toString();
Triple sizeTriple=query.selectSingle(pageid,"size",null);
if (sizeTriple==null)
sizeTriple=query.selectSingle(pageid,"Property:Property_size",null);
if (sizeTriple!=null)
size=sizeTriple.getObject().toString();
Triple uploadableTriple=query.selectSingle(pageid,"uploadable",null);
if (uploadableTriple==null)
uploadableTriple=query.selectSingle(pageid,"Property:Property_uploadable",null);
if (uploadableTriple!=null)
uploadable=uploadableTriple.getObject().toString();
Triple defaultValueTriple=query.selectSingle(pageid,"defaultValue",null);
if (defaultValueTriple==null)
defaultValueTriple=query.selectSingle(pageid,"Property:Property_defaultValue",null);
if (defaultValueTriple!=null)
defaultValue=defaultValueTriple.getObject().toString();
Triple inputTypeTriple=query.selectSingle(pageid,"inputType",null);
if (inputTypeTriple==null)
inputTypeTriple=query.selectSingle(pageid,"Property:Property_inputType",null);
if (inputTypeTriple!=null)
inputType=inputTypeTriple.getObject().toString();
Triple allowedValuesTriple=query.selectSingle(pageid,"allowedValues",null);
if (allowedValuesTriple==null)
allowedValuesTriple=query.selectSingle(pageid,"Property:Property_allowedValues",null);
if (allowedValuesTriple!=null)
allowedValues=allowedValuesTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Property_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple values_fromTriple=query.selectSingle(pageid,"values_from",null);
if (values_fromTriple==null)
values_fromTriple=query.selectSingle(pageid,"Property:Property_values_from",null);
if (values_fromTriple!=null)
values_from=values_fromTriple.getObject().toString();
Triple showInGridTriple=query.selectSingle(pageid,"showInGrid",null);
if (showInGridTriple==null)
showInGridTriple=query.selectSingle(pageid,"Property:Property_showInGrid",null);
if (showInGridTriple!=null)
showInGrid=showInGridTriple.getObject().toString();
Triple isLinkTriple=query.selectSingle(pageid,"isLink",null);
if (isLinkTriple==null)
isLinkTriple=query.selectSingle(pageid,"Property:Property_isLink",null);
if (isLinkTriple!=null)
isLink=isLinkTriple.getObject().toString();
Triple nullableTriple=query.selectSingle(pageid,"nullable",null);
if (nullableTriple==null)
nullableTriple=query.selectSingle(pageid,"Property:Property_nullable",null);
if (nullableTriple!=null)
nullable=nullableTriple.getObject().toString();
Triple topicTriple=query.selectSingle(pageid,"topic",null);
if (topicTriple==null)
topicTriple=query.selectSingle(pageid,"Property:Property_topic",null);
if (topicTriple!=null)
topic=topicTriple.getObject().toString();
init(query);
} // constructor for Property
// >>>{user defined topic code}{Property}{Property}
// <<<{user defined topic code}{Property}{Property}
} // class Property
/**
* Manager for Property
*/
public static class PropertyManager extends TopicBase {
public String topicName="Property";
public transient List<Property> mPropertys=new ArrayList<Property>();
public transient Map<String,Property> mPropertyMap=new LinkedHashMap<String,Property>();
/**
* get my Properties
*/
public List<Property> getProperties() {
List<Property> result=this.mPropertys;
return result;
}
/**
* add a new Property
*/
public Property add(Property pProperty) {
mPropertys.add(pProperty);
mPropertyMap.put(pProperty.getPageid(),pProperty);
return pProperty;
}
/**
* add a new Property from the given triple
*/
public Property add(TripleQuery query,Triple pPropertyTriple) {
Property lProperty=new Property(query,pPropertyTriple);
add(lProperty);
return lProperty;
}
// reinitialize my mProperty map
public void reinit() {
mPropertyMap.clear();
for (Property lProperty:mPropertys) {
mPropertyMap.put(lProperty.getPageid(),lProperty);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static PropertyManager fromJson(String json) {
PropertyManager result=JSON.parseObject(json, PropertyManager.class);
result.reinit();
return result;
}
// default constructor
public PropertyManager() {}
// construct me from the given triple Query query
public PropertyManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lPropertyQuery=query.query(null,"isA","Property");
for (Triple lPropertyTriple:lPropertyQuery.getTriples()) {
add(query,lPropertyTriple);
}
// then the SMW triplestore
lPropertyQuery=query.query(null,"Property:IsA","Property");
for (Triple lPropertyTriple:lPropertyQuery.getTriples()) {
add(query,lPropertyTriple);
}
init(query);
} // constructor for Property Manager
// >>>{user defined topicmanager code}{Property}{Property}
// <<<{user defined topicmanager code}{Property}{Property}
} // class Property Manager
/**
* SMW_Type
* an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
*/
public static class SMW_Type extends TopicBase {
public String pageid;
public String type;
public String documentation;
public String helppage;
public String typepage;
public String javaType;
public String usedByProperties;
public String getType() { return type; }
public void setType(String pType) { type=pType; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getHelppage() { return helppage; }
public void setHelppage(String pHelppage) { helppage=pHelppage; }
public String getTypepage() { return typepage; }
public void setTypepage(String pTypepage) { typepage=pTypepage; }
public String getJavaType() { return javaType; }
public void setJavaType(String pJavaType) { javaType=pJavaType; }
public String getUsedByProperties() { return usedByProperties; }
public void setUsedByProperties(String pUsedByProperties) { usedByProperties=pUsedByProperties; }
/**
* convert this SMW_Type to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for SMW_Type
*/
public SMW_Type() {}
/**
* construct a SMW_Type from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pSMW_TypeTriple - the triple to construct me from
*/
public SMW_Type(TripleQuery query,Triple pSMW_TypeTriple) {
this(query,pSMW_TypeTriple.getSubject().toString());
} // constructor
/**
* construct a SMW_Type from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public SMW_Type(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple typeTriple=query.selectSingle(pageid,"type",null);
if (typeTriple==null)
typeTriple=query.selectSingle(pageid,"Property:SMW_Type_type",null);
if (typeTriple!=null)
type=typeTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:SMW_Type_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple helppageTriple=query.selectSingle(pageid,"helppage",null);
if (helppageTriple==null)
helppageTriple=query.selectSingle(pageid,"Property:SMW_Type_helppage",null);
if (helppageTriple!=null)
helppage=helppageTriple.getObject().toString();
Triple typepageTriple=query.selectSingle(pageid,"typepage",null);
if (typepageTriple==null)
typepageTriple=query.selectSingle(pageid,"Property:SMW_Type_typepage",null);
if (typepageTriple!=null)
typepage=typepageTriple.getObject().toString();
Triple javaTypeTriple=query.selectSingle(pageid,"javaType",null);
if (javaTypeTriple==null)
javaTypeTriple=query.selectSingle(pageid,"Property:SMW_Type_javaType",null);
if (javaTypeTriple!=null)
javaType=javaTypeTriple.getObject().toString();
Triple usedByPropertiesTriple=query.selectSingle(pageid,"usedByProperties",null);
if (usedByPropertiesTriple==null)
usedByPropertiesTriple=query.selectSingle(pageid,"Property:SMW_Type_usedByProperties",null);
if (usedByPropertiesTriple!=null)
usedByProperties=usedByPropertiesTriple.getObject().toString();
init(query);
} // constructor for SMW_Type
// >>>{user defined topic code}{SMW_Type}{SMW_Type}
// <<<{user defined topic code}{SMW_Type}{SMW_Type}
} // class SMW_Type
/**
* Manager for SMW_Type
*/
public static class SMW_TypeManager extends TopicBase {
public String topicName="SMW_Type";
public transient List<SMW_Type> mSMW_Types=new ArrayList<SMW_Type>();
public transient Map<String,SMW_Type> mSMW_TypeMap=new LinkedHashMap<String,SMW_Type>();
/**
* get my SMW_Types
*/
public List<SMW_Type> getSMW_Types() {
List<SMW_Type> result=this.mSMW_Types;
return result;
}
/**
* add a new SMW_Type
*/
public SMW_Type add(SMW_Type pSMW_Type) {
mSMW_Types.add(pSMW_Type);
mSMW_TypeMap.put(pSMW_Type.getPageid(),pSMW_Type);
return pSMW_Type;
}
/**
* add a new SMW_Type from the given triple
*/
public SMW_Type add(TripleQuery query,Triple pSMW_TypeTriple) {
SMW_Type lSMW_Type=new SMW_Type(query,pSMW_TypeTriple);
add(lSMW_Type);
return lSMW_Type;
}
// reinitialize my mSMW_Type map
public void reinit() {
mSMW_TypeMap.clear();
for (SMW_Type lSMW_Type:mSMW_Types) {
mSMW_TypeMap.put(lSMW_Type.getPageid(),lSMW_Type);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static SMW_TypeManager fromJson(String json) {
SMW_TypeManager result=JSON.parseObject(json, SMW_TypeManager.class);
result.reinit();
return result;
}
// default constructor
public SMW_TypeManager() {}
// construct me from the given triple Query query
public SMW_TypeManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lSMW_TypeQuery=query.query(null,"isA","SMW_Type");
for (Triple lSMW_TypeTriple:lSMW_TypeQuery.getTriples()) {
add(query,lSMW_TypeTriple);
}
// then the SMW triplestore
lSMW_TypeQuery=query.query(null,"Property:IsA","SMW_Type");
for (Triple lSMW_TypeTriple:lSMW_TypeQuery.getTriples()) {
add(query,lSMW_TypeTriple);
}
init(query);
} // constructor for SMW_Type Manager
// >>>{user defined topicmanager code}{SMW_Type}{SMW_Type}
// <<<{user defined topicmanager code}{SMW_Type}{SMW_Type}
} // class SMW_Type Manager
/**
* Topic
* A Topic is a Concept/Class/Thing/Entity
*/
public static class Topic extends TopicBase {
public String pageid;
public String name;
public String pluralName;
public String icon;
public String iconUrl;
public String documentation;
public String wikiDocumentation;
public String defaultstoremode;
public String listLimit;
public String cargo;
public String context;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getPluralName() { return pluralName; }
public void setPluralName(String pPluralName) { pluralName=pPluralName; }
public String getIcon() { return icon; }
public void setIcon(String pIcon) { icon=pIcon; }
public String getIconUrl() { return iconUrl; }
public void setIconUrl(String pIconUrl) { iconUrl=pIconUrl; }
public String getDocumentation() { return documentation; }
public void setDocumentation(String pDocumentation) { documentation=pDocumentation; }
public String getWikiDocumentation() { return wikiDocumentation; }
public void setWikiDocumentation(String pWikiDocumentation) { wikiDocumentation=pWikiDocumentation; }
public String getDefaultstoremode() { return defaultstoremode; }
public void setDefaultstoremode(String pDefaultstoremode) { defaultstoremode=pDefaultstoremode; }
public String getListLimit() { return listLimit; }
public void setListLimit(String pListLimit) { listLimit=pListLimit; }
public String getCargo() { return cargo; }
public void setCargo(String pCargo) { cargo=pCargo; }
public String getContext() { return context; }
public void setContext(String pContext) { context=pContext; }
/**
* convert this Topic to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Topic
*/
public Topic() {}
/**
* construct a Topic from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTopicTriple - the triple to construct me from
*/
public Topic(TripleQuery query,Triple pTopicTriple) {
this(query,pTopicTriple.getSubject().toString());
} // constructor
/**
* construct a Topic from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Topic(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:Topic_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple pluralNameTriple=query.selectSingle(pageid,"pluralName",null);
if (pluralNameTriple==null)
pluralNameTriple=query.selectSingle(pageid,"Property:Topic_pluralName",null);
if (pluralNameTriple!=null)
pluralName=pluralNameTriple.getObject().toString();
Triple iconTriple=query.selectSingle(pageid,"icon",null);
if (iconTriple==null)
iconTriple=query.selectSingle(pageid,"Property:Topic_icon",null);
if (iconTriple!=null)
icon=iconTriple.getObject().toString();
Triple iconUrlTriple=query.selectSingle(pageid,"iconUrl",null);
if (iconUrlTriple==null)
iconUrlTriple=query.selectSingle(pageid,"Property:Topic_iconUrl",null);
if (iconUrlTriple!=null)
iconUrl=iconUrlTriple.getObject().toString();
Triple documentationTriple=query.selectSingle(pageid,"documentation",null);
if (documentationTriple==null)
documentationTriple=query.selectSingle(pageid,"Property:Topic_documentation",null);
if (documentationTriple!=null)
documentation=documentationTriple.getObject().toString();
Triple wikiDocumentationTriple=query.selectSingle(pageid,"wikiDocumentation",null);
if (wikiDocumentationTriple==null)
wikiDocumentationTriple=query.selectSingle(pageid,"Property:Topic_wikiDocumentation",null);
if (wikiDocumentationTriple!=null)
wikiDocumentation=wikiDocumentationTriple.getObject().toString();
Triple defaultstoremodeTriple=query.selectSingle(pageid,"defaultstoremode",null);
if (defaultstoremodeTriple==null)
defaultstoremodeTriple=query.selectSingle(pageid,"Property:Topic_defaultstoremode",null);
if (defaultstoremodeTriple!=null)
defaultstoremode=defaultstoremodeTriple.getObject().toString();
Triple listLimitTriple=query.selectSingle(pageid,"listLimit",null);
if (listLimitTriple==null)
listLimitTriple=query.selectSingle(pageid,"Property:Topic_listLimit",null);
if (listLimitTriple!=null)
listLimit=listLimitTriple.getObject().toString();
Triple cargoTriple=query.selectSingle(pageid,"cargo",null);
if (cargoTriple==null)
cargoTriple=query.selectSingle(pageid,"Property:Topic_cargo",null);
if (cargoTriple!=null)
cargo=cargoTriple.getObject().toString();
Triple contextTriple=query.selectSingle(pageid,"context",null);
if (contextTriple==null)
contextTriple=query.selectSingle(pageid,"Property:Topic_context",null);
if (contextTriple!=null)
context=contextTriple.getObject().toString();
init(query);
} // constructor for Topic
// >>>{user defined topic code}{Topic}{Topic}
// <<<{user defined topic code}{Topic}{Topic}
} // class Topic
/**
* Manager for Topic
*/
public static class TopicManager extends TopicBase {
public String topicName="Topic";
public transient List<Topic> mTopics=new ArrayList<Topic>();
public transient Map<String,Topic> mTopicMap=new LinkedHashMap<String,Topic>();
/**
* get my Topics
*/
public List<Topic> getTopics() {
List<Topic> result=this.mTopics;
return result;
}
/**
* add a new Topic
*/
public Topic add(Topic pTopic) {
mTopics.add(pTopic);
mTopicMap.put(pTopic.getPageid(),pTopic);
return pTopic;
}
/**
* add a new Topic from the given triple
*/
public Topic add(TripleQuery query,Triple pTopicTriple) {
Topic lTopic=new Topic(query,pTopicTriple);
add(lTopic);
return lTopic;
}
// reinitialize my mTopic map
public void reinit() {
mTopicMap.clear();
for (Topic lTopic:mTopics) {
mTopicMap.put(lTopic.getPageid(),lTopic);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TopicManager fromJson(String json) {
TopicManager result=JSON.parseObject(json, TopicManager.class);
result.reinit();
return result;
}
// default constructor
public TopicManager() {}
// construct me from the given triple Query query
public TopicManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicQuery=query.query(null,"isA","Topic");
for (Triple lTopicTriple:lTopicQuery.getTriples()) {
add(query,lTopicTriple);
}
// then the SMW triplestore
lTopicQuery=query.query(null,"Property:IsA","Topic");
for (Triple lTopicTriple:lTopicQuery.getTriples()) {
add(query,lTopicTriple);
}
init(query);
} // constructor for Topic Manager
// >>>{user defined topicmanager code}{Topic}{Topic}
// <<<{user defined topicmanager code}{Topic}{Topic}
} // class Topic Manager
/**
* Action
*
*/
public static class Action extends TopicBase {
public String pageid;
public String servicetype;
public String service;
public String inputtype;
public String input;
public String actionpage;
public String output;
public String getServicetype() { return servicetype; }
public void setServicetype(String pServicetype) { servicetype=pServicetype; }
public String getService() { return service; }
public void setService(String pService) { service=pService; }
public String getInputtype() { return inputtype; }
public void setInputtype(String pInputtype) { inputtype=pInputtype; }
public String getInput() { return input; }
public void setInput(String pInput) { input=pInput; }
public String getActionpage() { return actionpage; }
public void setActionpage(String pActionpage) { actionpage=pActionpage; }
public String getOutput() { return output; }
public void setOutput(String pOutput) { output=pOutput; }
/**
* convert this Action to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for Action
*/
public Action() {}
/**
* construct a Action from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pActionTriple - the triple to construct me from
*/
public Action(TripleQuery query,Triple pActionTriple) {
this(query,pActionTriple.getSubject().toString());
} // constructor
/**
* construct a Action from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public Action(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple servicetypeTriple=query.selectSingle(pageid,"servicetype",null);
if (servicetypeTriple==null)
servicetypeTriple=query.selectSingle(pageid,"Property:Action_servicetype",null);
if (servicetypeTriple!=null)
servicetype=servicetypeTriple.getObject().toString();
Triple serviceTriple=query.selectSingle(pageid,"service",null);
if (serviceTriple==null)
serviceTriple=query.selectSingle(pageid,"Property:Action_service",null);
if (serviceTriple!=null)
service=serviceTriple.getObject().toString();
Triple inputtypeTriple=query.selectSingle(pageid,"inputtype",null);
if (inputtypeTriple==null)
inputtypeTriple=query.selectSingle(pageid,"Property:Action_inputtype",null);
if (inputtypeTriple!=null)
inputtype=inputtypeTriple.getObject().toString();
Triple inputTriple=query.selectSingle(pageid,"input",null);
if (inputTriple==null)
inputTriple=query.selectSingle(pageid,"Property:Action_input",null);
if (inputTriple!=null)
input=inputTriple.getObject().toString();
Triple actionpageTriple=query.selectSingle(pageid,"actionpage",null);
if (actionpageTriple==null)
actionpageTriple=query.selectSingle(pageid,"Property:Action_actionpage",null);
if (actionpageTriple!=null)
actionpage=actionpageTriple.getObject().toString();
Triple outputTriple=query.selectSingle(pageid,"output",null);
if (outputTriple==null)
outputTriple=query.selectSingle(pageid,"Property:Action_output",null);
if (outputTriple!=null)
output=outputTriple.getObject().toString();
init(query);
} // constructor for Action
// >>>{user defined topic code}{Action}{Action}
// <<<{user defined topic code}{Action}{Action}
} // class Action
/**
* Manager for Action
*/
public static class ActionManager extends TopicBase {
public String topicName="Action";
public transient List<Action> mActions=new ArrayList<Action>();
public transient Map<String,Action> mActionMap=new LinkedHashMap<String,Action>();
/**
* get my Actions
*/
public List<Action> getActions() {
List<Action> result=this.mActions;
return result;
}
/**
* add a new Action
*/
public Action add(Action pAction) {
mActions.add(pAction);
mActionMap.put(pAction.getPageid(),pAction);
return pAction;
}
/**
* add a new Action from the given triple
*/
public Action add(TripleQuery query,Triple pActionTriple) {
Action lAction=new Action(query,pActionTriple);
add(lAction);
return lAction;
}
// reinitialize my mAction map
public void reinit() {
mActionMap.clear();
for (Action lAction:mActions) {
mActionMap.put(lAction.getPageid(),lAction);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static ActionManager fromJson(String json) {
ActionManager result=JSON.parseObject(json, ActionManager.class);
result.reinit();
return result;
}
// default constructor
public ActionManager() {}
// construct me from the given triple Query query
public ActionManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lActionQuery=query.query(null,"isA","Action");
for (Triple lActionTriple:lActionQuery.getTriples()) {
add(query,lActionTriple);
}
// then the SMW triplestore
lActionQuery=query.query(null,"Property:IsA","Action");
for (Triple lActionTriple:lActionQuery.getTriples()) {
add(query,lActionTriple);
}
init(query);
} // constructor for Action Manager
// >>>{user defined topicmanager code}{Action}{Action}
// <<<{user defined topicmanager code}{Action}{Action}
} // class Action Manager
/**
* TopicLink
* A TopicLink links two Concepts
*/
public static class TopicLink extends TopicBase {
public String pageid;
public String name;
public String source;
public String sourceRole;
public String sourceMultiple;
public String sourceDocumentation;
public String target;
public String targetRole;
public String targetMultiple;
public String targetDocumentation;
public String masterDetail;
public String getName() { return name; }
public void setName(String pName) { name=pName; }
public String getSource() { return source; }
public void setSource(String pSource) { source=pSource; }
public String getSourceRole() { return sourceRole; }
public void setSourceRole(String pSourceRole) { sourceRole=pSourceRole; }
public String getSourceMultiple() { return sourceMultiple; }
public void setSourceMultiple(String pSourceMultiple) { sourceMultiple=pSourceMultiple; }
public String getSourceDocumentation() { return sourceDocumentation; }
public void setSourceDocumentation(String pSourceDocumentation) { sourceDocumentation=pSourceDocumentation; }
public String getTarget() { return target; }
public void setTarget(String pTarget) { target=pTarget; }
public String getTargetRole() { return targetRole; }
public void setTargetRole(String pTargetRole) { targetRole=pTargetRole; }
public String getTargetMultiple() { return targetMultiple; }
public void setTargetMultiple(String pTargetMultiple) { targetMultiple=pTargetMultiple; }
public String getTargetDocumentation() { return targetDocumentation; }
public void setTargetDocumentation(String pTargetDocumentation) { targetDocumentation=pTargetDocumentation; }
public String getMasterDetail() { return masterDetail; }
public void setMasterDetail(String pMasterDetail) { masterDetail=pMasterDetail; }
/**
* convert this TopicLink to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for TopicLink
*/
public TopicLink() {}
/**
* construct a TopicLink from the given Triple
* @param query - the TripleQuery to get the triples from
* @param pTopicLinkTriple - the triple to construct me from
*/
public TopicLink(TripleQuery query,Triple pTopicLinkTriple) {
this(query,pTopicLinkTriple.getSubject().toString());
} // constructor
/**
* construct a TopicLink from the given pageId
* @param query - the TripleQuery to get the triples from
* @param pageid - pageid
*/
public TopicLink(TripleQuery query,String pageid) {
this.pageid=pageid;
Triple nameTriple=query.selectSingle(pageid,"name",null);
if (nameTriple==null)
nameTriple=query.selectSingle(pageid,"Property:TopicLink_name",null);
if (nameTriple!=null)
name=nameTriple.getObject().toString();
Triple sourceTriple=query.selectSingle(pageid,"source",null);
if (sourceTriple==null)
sourceTriple=query.selectSingle(pageid,"Property:TopicLink_source",null);
if (sourceTriple!=null)
source=sourceTriple.getObject().toString();
Triple sourceRoleTriple=query.selectSingle(pageid,"sourceRole",null);
if (sourceRoleTriple==null)
sourceRoleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceRole",null);
if (sourceRoleTriple!=null)
sourceRole=sourceRoleTriple.getObject().toString();
Triple sourceMultipleTriple=query.selectSingle(pageid,"sourceMultiple",null);
if (sourceMultipleTriple==null)
sourceMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceMultiple",null);
if (sourceMultipleTriple!=null)
sourceMultiple=sourceMultipleTriple.getObject().toString();
Triple sourceDocumentationTriple=query.selectSingle(pageid,"sourceDocumentation",null);
if (sourceDocumentationTriple==null)
sourceDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_sourceDocumentation",null);
if (sourceDocumentationTriple!=null)
sourceDocumentation=sourceDocumentationTriple.getObject().toString();
Triple targetTriple=query.selectSingle(pageid,"target",null);
if (targetTriple==null)
targetTriple=query.selectSingle(pageid,"Property:TopicLink_target",null);
if (targetTriple!=null)
target=targetTriple.getObject().toString();
Triple targetRoleTriple=query.selectSingle(pageid,"targetRole",null);
if (targetRoleTriple==null)
targetRoleTriple=query.selectSingle(pageid,"Property:TopicLink_targetRole",null);
if (targetRoleTriple!=null)
targetRole=targetRoleTriple.getObject().toString();
Triple targetMultipleTriple=query.selectSingle(pageid,"targetMultiple",null);
if (targetMultipleTriple==null)
targetMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_targetMultiple",null);
if (targetMultipleTriple!=null)
targetMultiple=targetMultipleTriple.getObject().toString();
Triple targetDocumentationTriple=query.selectSingle(pageid,"targetDocumentation",null);
if (targetDocumentationTriple==null)
targetDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_targetDocumentation",null);
if (targetDocumentationTriple!=null)
targetDocumentation=targetDocumentationTriple.getObject().toString();
Triple masterDetailTriple=query.selectSingle(pageid,"masterDetail",null);
if (masterDetailTriple==null)
masterDetailTriple=query.selectSingle(pageid,"Property:TopicLink_masterDetail",null);
if (masterDetailTriple!=null)
masterDetail=masterDetailTriple.getObject().toString();
init(query);
} // constructor for TopicLink
// >>>{user defined topic code}{TopicLink}{TopicLink}
// <<<{user defined topic code}{TopicLink}{TopicLink}
} // class TopicLink
/**
* Manager for TopicLink
*/
public static class TopicLinkManager extends TopicBase {
public String topicName="TopicLink";
public transient List<TopicLink> mTopicLinks=new ArrayList<TopicLink>();
public transient Map<String,TopicLink> mTopicLinkMap=new LinkedHashMap<String,TopicLink>();
/**
* get my TopicLinks
*/
public List<TopicLink> getTopicLinks() {
List<TopicLink> result=this.mTopicLinks;
return result;
}
/**
* add a new TopicLink
*/
public TopicLink add(TopicLink pTopicLink) {
mTopicLinks.add(pTopicLink);
mTopicLinkMap.put(pTopicLink.getPageid(),pTopicLink);
return pTopicLink;
}
/**
* add a new TopicLink from the given triple
*/
public TopicLink add(TripleQuery query,Triple pTopicLinkTriple) {
TopicLink lTopicLink=new TopicLink(query,pTopicLinkTriple);
add(lTopicLink);
return lTopicLink;
}
// reinitialize my mTopicLink map
public void reinit() {
mTopicLinkMap.clear();
for (TopicLink lTopicLink:mTopicLinks) {
mTopicLinkMap.put(lTopicLink.getPageid(),lTopicLink);
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static TopicLinkManager fromJson(String json) {
TopicLinkManager result=JSON.parseObject(json, TopicLinkManager.class);
result.reinit();
return result;
}
// default constructor
public TopicLinkManager() {}
// construct me from the given triple Query query
public TopicLinkManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicLinkQuery=query.query(null,"isA","TopicLink");
for (Triple lTopicLinkTriple:lTopicLinkQuery.getTriples()) {
add(query,lTopicLinkTriple);
}
// then the SMW triplestore
lTopicLinkQuery=query.query(null,"Property:IsA","TopicLink");
for (Triple lTopicLinkTriple:lTopicLinkQuery.getTriples()) {
add(query,lTopicLinkTriple);
}
init(query);
} // constructor for TopicLink Manager
// >>>{user defined topicmanager code}{TopicLink}{TopicLink}
// <<<{user defined topicmanager code}{TopicLink}{TopicLink}
} // class TopicLink Manager
}
56dda3bf593001f149819a26db4e5fe44961cba8
Concept:Property/Properties
108
140
184
2015-11-06T06:47:26Z
Wf
1
created by WikiTask 2015-11-06T06:47:25Z
wikitext
text/x-wiki
== properties of Property ==
=== [[Property:Property name]] ===
<pre>
{{Property
|name=name
|documentation=The name of the property
|type=Special:Types/Text
|label=name
|primaryKey=true
|mandatory=true
|uploadable=false
|size=50
|index=1
|sortPos=1
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property label]] ===
<pre>
{{Property
|name=label
|documentation=The label to be shown when in a form
|type=Special:Types/Text
|label=label
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=2
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property type]] ===
<pre>
{{Property
|name=type
|documentation=The type of a Property
|type=Special:Types/Page
|label=type
|primaryKey=false
|mandatory=false
|uploadable=false
|size=
|index=3
|sortPos=
|defaultValue=Text
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property index]] ===
<pre>
{{Property
|name=index
|documentation=A positive number that specifies at which position of a Topic the given property should show. The first property to show has the index 1 each following property has an index that is +1 of the previous.
|type=Special:Types/Number
|label=index
|primaryKey=false
|mandatory=false
|uploadable=false
|size=
|index=4
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property sortPos]] ===
<pre>
{{Property
|name=sortPos
|documentation=If none empty >0 this is the position in the sort clause of this
property. This is used when displaying list of the topic as the default sort order
and it is used for selecting topics .
E.g.
Sortpos 1 for attribute lastname and sortpos 2 for attribute firstname leads to sort by lastname,firstname
|type=Special:Types/Number
|label=sortPos
|primaryKey=false
|mandatory=false
|uploadable=false
|size=3
|index=5
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property primaryKey]] ===
<pre>
{{Property
|name=primaryKey
|documentation=is this property a primary key of it's topic?
|type=Special:Types/Boolean
|label=primary key
|primaryKey=false
|mandatory=false
|uploadable=false
|size=4
|index=6
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property mandatory]] ===
<pre>
{{Property
|name=mandatory
|documentation=Specifies that this field must be filled in by the user. Note: mandatory should not be used in conjunction with hidden. Use of both in any field will cause the mandatory check on any field to fail when the form is saved.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
|type=Special:Types/Boolean
|label=mandatory
|primaryKey=false
|mandatory=false
|uploadable=false
|size=4
|index=7
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property namespace]] ===
<pre>
{{Property
|name=namespace
|documentation=namespace prefix
|type=Special:Types/Text
|label=namespace
|primaryKey=false
|mandatory=false
|uploadable=false
|size=20
|index=8
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property size]] ===
<pre>
{{Property
|name=size
|documentation=the display size of the field for the property
|type=Special:Types/Number
|label=size
|primaryKey=false
|mandatory=false
|uploadable=false
|size=3
|index=9
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property uploadable]] ===
<pre>
{{Property
|name=uploadable
|documentation=Specifies that a link should be placed next to this field, that opens a popup window to let the user upload a file; see 'Uploading files', below. See
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Uploading_files
The type of the target property needs to be Page for this to work
|type=Special:Types/Boolean
|label=uploadable
|primaryKey=false
|mandatory=false
|uploadable=false
|size=4
|index=10
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property defaultValue]] ===
<pre>
{{Property
|name=defaultValue
|documentation=default value - Specifies a default value for this field. For date-related fields, default=now will set the value to the current date and possibly time. For text fields, default=current user will set the value to the username of the user adding this page. For the checkbox input type, default=yes will check the checkbox by default. (The 'checkboxes' input type, on the other hand, like the 'listbox' type, requires specifying the actual values, like default=Value A, Value C.) You can also include templates, parser functions, and magic words within the 'default=' value.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag (default)
|type=Special:Types/Code
|label=default
|primaryKey=false
|mandatory=false
|uploadable=false
|size=80
|index=11
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Code]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property inputType]] ===
<pre>
{{Property
|name=inputType
|documentation=see
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>input type - Specifies the type of input this field will have in the form. If a field corresponds to an SMW property or Cargo field, the form will usually have the correct input type by default; otherwise the default is text. If the corresponding SMW property, or Cargo field, cannot be automatically determined, you can use the parameter 'property', or the parameters 'cargo table' and 'cargo field', to manually specify it (see below). The allowed set of input types is different for every semantic property type; see below for the full list of options.
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Allowed_input_types_for_data_types
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms_Inputs
|type=Special:Types/Text
|label=inputType
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=12
|sortPos=
|defaultValue=
|inputType=dropdown
|allowedValues=text, combobox, dropdown, textarea, tree, datetime, datepicker, timepicker, datetimepicker, menuselect,two listboxes, datecheck, regexp, radiobutton, googlemaps
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property allowedValues]] ===
<pre>
{{Property
|name=allowedValues
|documentation=There are two ways to specified allowed Values:
# https://semantic-mediawiki.org/wiki/Help:Special_property_Allows_value. <br>Use [[Property:Allows_value]] to see which values are allowed for certain properties
# http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>values=possible values - Specifies a set of either possible values or autocompletion values (depending on the input type) that this field can have, overriding whatever set of values may have been set from the Semantic MediaWiki property. This set of values is separated by commas by default, but the delimiter can be modified using the delimiter= parameter.
If you specify any values method number 2 will be used here which might override any allowed Values specified with method number 1.
|type=Special:Types/Text
|label=allowedValues
|primaryKey=false
|mandatory=false
|uploadable=false
|size=50
|index=13
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property documentation]] ===
<pre>
{{Property
|name=documentation
|documentation=The documentation for a property
|type=Special:Types/Text
|label=documentation
|primaryKey=false
|mandatory=false
|uploadable=false
|size=500
|index=14
|sortPos=
|defaultValue=
|inputType=textarea
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property values_from]] ===
<pre>
{{Property
|name=values_from
|documentation=Specifies where to get the possible values to be displayed in a form from see
http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* values from property=property name - Similar to values=, but gets its values from the the set of all values that a certain SMW property points to.
* values from category=category name - Similar to values=, but gets its values from the names of all pages belonging to a specific category.
* values from concept=concept name - Similar to values=, but gets its values from the names of all pages belonging to a specific concept.
* values from namespace=namespace name - Similar to values=, but gets its values from the names of all pages belonging to a specific namespace. (To get values from the main namespace, use 'Main' for the namespace name, or just leave it blank.)
* values from url=URL identifier - Used only for autocompletion. Specifies that autocompletion should be based on the values retrieved from an outside URL; see Autocompleting on outside values for how to do this.
* values from external data=variable name - Used for autocompletion. You need to have theExternal Data extension installed to be able to use this parameter. It specifies that autocompletion should be based on the data retrieved from an outside source. A large number of data sources are supported, including web APIs, regular wiki pages, files on the local server, databases and LDAP directories. See Autocompletion using External Data.
|type=Special:Types/Code
|label=values from
|primaryKey=false
|mandatory=false
|uploadable=false
|size=200
|index=15
|sortPos=
|defaultValue=
|inputType=textarea
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Code]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property showInGrid]] ===
<pre>
{{Property
|name=showInGrid
|documentation=I am true if this property is displayed in the default list of properties for my topic as
a column
|type=Special:Types/Boolean
|label=showInGrid
|primaryKey=false
|mandatory=false
|uploadable=false
|size=
|index=16
|sortPos=
|defaultValue=true
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property isLink]] ===
<pre>
{{Property
|name=isLink
|documentation=true if this Property is derived form a Link. It will not be exported to SiDIF separately and automatically be added by the Property Generator
|type=Special:Types/Boolean
|label=isLink
|primaryKey=false
|mandatory=false
|uploadable=false
|size=
|index=17
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property nullable]] ===
<pre>
{{Property
|name=nullable
|documentation=should nullvalues be allowed and value set to NULL when empty?
|type=Special:Types/Boolean
|label=allow nulls?
|primaryKey=false
|mandatory=false
|uploadable=false
|size=
|index=18
|sortPos=
|defaultValue=false
|inputType=
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Property topic]] ===
<pre>
{{Property
|name=topic
|documentation=
|type=Special:Types/Page
|label=topic
|primaryKey=
|mandatory=
|uploadable=
|size=
|index=
|sortPos=
|defaultValue=
|inputType=dropdown
|allowedValues=
|topic=Concept:Property
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
767cc75f9c3d95a6febf84b174aa210f3ae85dda
Template:Property
10
141
185
2015-11-06T06:47:29Z
Wf
1
created by WikiTask 2015-11-06T06:47:28Z
wikitext
text/x-wiki
<noinclude>
<!--
-- Copyright (C) 2015 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->
This is the template {{Link|target=Template:Property|title=Property}}.
It belongs to the concept/topic {{Link|target=:Concept:Property}}<br>
You may find examples for the use of this template via the {{Link|target=List of Properties}}.
=== Usage ===
==== storemode subobject ====
<pre>{{Property
|name=
|label=
|type=
|index=
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=
|allowedValues=
|documentation=
|values_from=
|showInGrid=
|isLink=
|nullable=
|topic=
|storemode=subobject
}}
</pre>
==== storemode property ====
<pre>{{Property
|name=
|label=
|type=
|index=
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=
|allowedValues=
|documentation=
|values_from=
|showInGrid=
|isLink=
|nullable=
|topic=
|storemode=property
}}
</pre>
==== storemode none ====
<pre>{{Property
|name=
|label=
|type=
|index=
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=
|allowedValues=
|documentation=
|values_from=
|showInGrid=
|isLink=
|nullable=
|topic=
|storemode=none
}}
</pre>
==== viewmode tableheader ====
<pre>{{Property
|name=
|label=
|type=
|index=
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=
|allowedValues=
|documentation=
|values_from=
|showInGrid=
|isLink=
|nullable=
|topic=
|viewmode=tableheader
}}
</pre>
==== viewmode tablerow ====
<pre>{{Property
|name=
|label=
|type=
|index=
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=
|allowedValues=
|documentation=
|values_from=
|showInGrid=
|isLink=
|nullable=
|topic=
|viewmode=tablerow
}}
</pre>
==== viewmode tablefooter ====
<pre>{{Property
|name=
|label=
|type=
|index=
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=
|allowedValues=
|documentation=
|values_from=
|showInGrid=
|isLink=
|nullable=
|topic=
|viewmode=tablefooter
}}
</pre>
==== viewmode labelfield ====
<pre>{{Property
|name=
|label=
|type=
|index=
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=
|allowedValues=
|documentation=
|values_from=
|showInGrid=
|isLink=
|nullable=
|topic=
|viewmode=labelfield
}}
</pre>
=== Source ===
<source lang='html4strict'>
{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Property<br>|}}
{{#if:{{{?name|}}}|"{{{?name}}}" is name of it <br>|}}
{{#if:{{{?label|}}}|"{{{?label}}}" is label of it <br>|}}
{{#if:{{{?type|}}}|"{{{?type}}}" is type of it <br>|}}
{{#if:{{{?index|}}}|"{{{?index}}}" is index of it <br>|}}
{{#if:{{{?sortPos|}}}|"{{{?sortPos}}}" is sortPos of it <br>|}}
{{#if:{{{?primaryKey|}}}|"{{{?primaryKey}}}" is primaryKey of it <br>|}}
{{#if:{{{?mandatory|}}}|"{{{?mandatory}}}" is mandatory of it <br>|}}
{{#if:{{{?namespace|}}}|"{{{?namespace}}}" is namespace of it <br>|}}
{{#if:{{{?size|}}}|"{{{?size}}}" is size of it <br>|}}
{{#if:{{{?uploadable|}}}|"{{{?uploadable}}}" is uploadable of it <br>|}}
{{#if:{{{?defaultValue|}}}|"{{{?defaultValue}}}" is defaultValue of it <br>|}}
{{#if:{{{?inputType|}}}|"{{{?inputType}}}" is inputType of it <br>|}}
{{#if:{{{?allowedValues|}}}|"{{{?allowedValues}}}" is allowedValues of it <br>|}}
{{#if:{{{?documentation|}}}|"{{{?documentation}}}" is documentation of it <br>|}}
{{#if:{{{?values_from|}}}|"{{{?values_from}}}" is values_from of it <br>|}}
{{#if:{{{?showInGrid|}}}|"{{{?showInGrid}}}" is showInGrid of it <br>|}}
{{#if:{{{?isLink|}}}|"{{{?isLink}}}" is isLink of it <br>|}}
{{#if:{{{?nullable|}}}|"{{{?nullable}}}" is nullable of it <br>|}}
{{#if:{{{?topic|}}}|"{{{?topic}}}" is topic of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|{{#set:
|isA=Property
|Property name={{{name|}}}
|Property label={{{label|}}}
|Property type={{{type|}}}
|Property index={{{index|}}}
|Property sortPos={{{sortPos|}}}
|Property primaryKey={{{primaryKey|}}}
|Property mandatory={{{mandatory|}}}
|Property namespace={{{namespace|}}}
|Property size={{{size|}}}
|Property uploadable={{{uploadable|}}}
|Property defaultValue={{{defaultValue|}}}
|Property inputType={{{inputType|}}}
|Property allowedValues={{{allowedValues|}}}
|Property documentation={{{documentation|}}}
|Property values_from={{{values_from|}}}
|Property showInGrid={{{showInGrid|}}}
|Property isLink={{{isLink|}}}
|Property nullable={{{nullable|}}}
|Property topic={{{topic|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
=== smw_type ===
{{#ask:[[Concept:SMW_Type]][[SMW_Type usedByProperties::{{FULLPAGENAME}}]]
| ?SMW_Type type = type
| ?SMW_Type documentation = documentation
| ?SMW_Type helppage = helppage
| ?SMW_Type typepage = typepage
| ?SMW_Type javaType = javaType
| ?SMW_Type usedByProperties = usedByProperties
}}
|tableheader={{{!}} class='wikitable'
!name!!label!!type!!index!!sortPos!!primaryKey!!mandatory!!namespace!!size!!uploadable!!defaultValue!!inputType!!allowedValues!!documentation!!values_from!!showInGrid!!isLink!!nullable!!topic
{{!}}-
|tablerow=
{{!}}{{{name|}}}{{!}}{{!}}{{{label|}}}{{!}}{{!}}{{{type|}}}{{!}}{{!}}{{{index|}}}{{!}}{{!}}{{{sortPos|}}}{{!}}{{!}}{{{primaryKey|}}}{{!}}{{!}}{{{mandatory|}}}{{!}}{{!}}{{{namespace|}}}{{!}}{{!}}{{{size|}}}{{!}}{{!}}{{{uploadable|}}}{{!}}{{!}}{{{defaultValue|}}}{{!}}{{!}}{{{inputType|}}}{{!}}{{!}}{{{allowedValues|}}}{{!}}{{!}}{{{documentation|}}}{{!}}{{!}}{{{values_from|}}}{{!}}{{!}}{{{showInGrid|}}}{{!}}{{!}}{{{isLink|}}}{{!}}{{!}}{{{nullable|}}}{{!}}{{!}}{{{topic|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
name={{#if:{{{name|}}}|{{{name|}}}|}}<br>label={{#if:{{{label|}}}|{{{label|}}}|}}<br>type={{#if:{{{type|}}}|[[{{{type|}}}]]|}}<br>index={{#if:{{{index|}}}|{{{index|}}}|}}<br>sortPos={{#if:{{{sortPos|}}}|{{{sortPos|}}}|}}<br>primaryKey={{#if:{{{primaryKey|}}}|{{{primaryKey|}}}|}}<br>mandatory={{#if:{{{mandatory|}}}|{{{mandatory|}}}|}}<br>namespace={{#if:{{{namespace|}}}|{{{namespace|}}}|}}<br>size={{#if:{{{size|}}}|{{{size|}}}|}}<br>uploadable={{#if:{{{uploadable|}}}|{{{uploadable|}}}|}}<br>defaultValue={{#if:{{{defaultValue|}}}|{{{defaultValue|}}}|}}<br>inputType={{#if:{{{inputType|}}}|{{{inputType|}}}|}}<br>allowedValues={{#if:{{{allowedValues|}}}|{{{allowedValues|}}}|}}<br>documentation={{#if:{{{documentation|}}}|{{{documentation|}}}|}}<br>values_from={{#if:{{{values_from|}}}|{{{values_from|}}}|}}<br>showInGrid={{#if:{{{showInGrid|}}}|{{{showInGrid|}}}|}}<br>isLink={{#if:{{{isLink|}}}|{{{isLink|}}}|}}<br>nullable={{#if:{{{nullable|}}}|{{{nullable|}}}|}}<br>topic={{#if:{{{topic|}}}|[[{{{topic|}}}]]|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Property
{{!}}-
!name
{{!}} {{#if:{{{name|}}}|{{{name|}}}|}}
{{!}}-
!label
{{!}} {{#if:{{{label|}}}|{{{label|}}}|}}
{{!}}-
!type
{{!}} {{#if:{{{type|}}}|[[{{{type|}}}]]|}}
{{!}}-
!index
{{!}} {{#if:{{{index|}}}|{{{index|}}}|}}
{{!}}-
!sortPos
{{!}} {{#if:{{{sortPos|}}}|{{{sortPos|}}}|}}
{{!}}-
!primary key
{{!}} {{#if:{{{primaryKey|}}}|{{{primaryKey|}}}|}}
{{!}}-
!mandatory
{{!}} {{#if:{{{mandatory|}}}|{{{mandatory|}}}|}}
{{!}}-
!namespace
{{!}} {{#if:{{{namespace|}}}|{{{namespace|}}}|}}
{{!}}-
!size
{{!}} {{#if:{{{size|}}}|{{{size|}}}|}}
{{!}}-
!uploadable
{{!}} {{#if:{{{uploadable|}}}|{{{uploadable|}}}|}}
{{!}}-
!default
{{!}} {{#if:{{{defaultValue|}}}|{{{defaultValue|}}}|}}
{{!}}-
!inputType
{{!}} {{#if:{{{inputType|}}}|{{{inputType|}}}|}}
{{!}}-
!allowedValues
{{!}} {{#if:{{{allowedValues|}}}|{{{allowedValues|}}}|}}
{{!}}-
!documentation
{{!}} {{#if:{{{documentation|}}}|{{{documentation|}}}|}}
{{!}}-
!values from
{{!}} {{#if:{{{values_from|}}}|{{{values_from|}}}|}}
{{!}}-
!showInGrid
{{!}} {{#if:{{{showInGrid|}}}|{{{showInGrid|}}}|}}
{{!}}-
!isLink
{{!}} {{#if:{{{isLink|}}}|{{{isLink|}}}|}}
{{!}}-
!allow nulls?
{{!}} {{#if:{{{nullable|}}}|{{{nullable|}}}|}}
{{!}}-
!topic
{{!}} {{#if:{{{topic|}}}|[[{{{topic|}}}]]|}}
{{!}}-
{{!}}}
}}
}}
[[Category:Property]]
</source>
Click on "Edit" to edit the Source of this Template.
</noinclude><includeonly>{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Property<br>|}}
{{#if:{{{?name|}}}|"{{{?name}}}" is name of it <br>|}}
{{#if:{{{?label|}}}|"{{{?label}}}" is label of it <br>|}}
{{#if:{{{?type|}}}|"{{{?type}}}" is type of it <br>|}}
{{#if:{{{?index|}}}|"{{{?index}}}" is index of it <br>|}}
{{#if:{{{?sortPos|}}}|"{{{?sortPos}}}" is sortPos of it <br>|}}
{{#if:{{{?primaryKey|}}}|"{{{?primaryKey}}}" is primaryKey of it <br>|}}
{{#if:{{{?mandatory|}}}|"{{{?mandatory}}}" is mandatory of it <br>|}}
{{#if:{{{?namespace|}}}|"{{{?namespace}}}" is namespace of it <br>|}}
{{#if:{{{?size|}}}|"{{{?size}}}" is size of it <br>|}}
{{#if:{{{?uploadable|}}}|"{{{?uploadable}}}" is uploadable of it <br>|}}
{{#if:{{{?defaultValue|}}}|"{{{?defaultValue}}}" is defaultValue of it <br>|}}
{{#if:{{{?inputType|}}}|"{{{?inputType}}}" is inputType of it <br>|}}
{{#if:{{{?allowedValues|}}}|"{{{?allowedValues}}}" is allowedValues of it <br>|}}
{{#if:{{{?documentation|}}}|"{{{?documentation}}}" is documentation of it <br>|}}
{{#if:{{{?values_from|}}}|"{{{?values_from}}}" is values_from of it <br>|}}
{{#if:{{{?showInGrid|}}}|"{{{?showInGrid}}}" is showInGrid of it <br>|}}
{{#if:{{{?isLink|}}}|"{{{?isLink}}}" is isLink of it <br>|}}
{{#if:{{{?nullable|}}}|"{{{?nullable}}}" is nullable of it <br>|}}
{{#if:{{{?topic|}}}|"{{{?topic}}}" is topic of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|{{#set:
|isA=Property
|Property name={{{name|}}}
|Property label={{{label|}}}
|Property type={{{type|}}}
|Property index={{{index|}}}
|Property sortPos={{{sortPos|}}}
|Property primaryKey={{{primaryKey|}}}
|Property mandatory={{{mandatory|}}}
|Property namespace={{{namespace|}}}
|Property size={{{size|}}}
|Property uploadable={{{uploadable|}}}
|Property defaultValue={{{defaultValue|}}}
|Property inputType={{{inputType|}}}
|Property allowedValues={{{allowedValues|}}}
|Property documentation={{{documentation|}}}
|Property values_from={{{values_from|}}}
|Property showInGrid={{{showInGrid|}}}
|Property isLink={{{isLink|}}}
|Property nullable={{{nullable|}}}
|Property topic={{{topic|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
=== smw_type ===
{{#ask:[[Concept:SMW_Type]][[SMW_Type usedByProperties::{{FULLPAGENAME}}]]
| ?SMW_Type type = type
| ?SMW_Type documentation = documentation
| ?SMW_Type helppage = helppage
| ?SMW_Type typepage = typepage
| ?SMW_Type javaType = javaType
| ?SMW_Type usedByProperties = usedByProperties
}}
|tableheader={{{!}} class='wikitable'
!name!!label!!type!!index!!sortPos!!primaryKey!!mandatory!!namespace!!size!!uploadable!!defaultValue!!inputType!!allowedValues!!documentation!!values_from!!showInGrid!!isLink!!nullable!!topic
{{!}}-
|tablerow=
{{!}}{{{name|}}}{{!}}{{!}}{{{label|}}}{{!}}{{!}}{{{type|}}}{{!}}{{!}}{{{index|}}}{{!}}{{!}}{{{sortPos|}}}{{!}}{{!}}{{{primaryKey|}}}{{!}}{{!}}{{{mandatory|}}}{{!}}{{!}}{{{namespace|}}}{{!}}{{!}}{{{size|}}}{{!}}{{!}}{{{uploadable|}}}{{!}}{{!}}{{{defaultValue|}}}{{!}}{{!}}{{{inputType|}}}{{!}}{{!}}{{{allowedValues|}}}{{!}}{{!}}{{{documentation|}}}{{!}}{{!}}{{{values_from|}}}{{!}}{{!}}{{{showInGrid|}}}{{!}}{{!}}{{{isLink|}}}{{!}}{{!}}{{{nullable|}}}{{!}}{{!}}{{{topic|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
name={{#if:{{{name|}}}|{{{name|}}}|}}<br>label={{#if:{{{label|}}}|{{{label|}}}|}}<br>type={{#if:{{{type|}}}|[[{{{type|}}}]]|}}<br>index={{#if:{{{index|}}}|{{{index|}}}|}}<br>sortPos={{#if:{{{sortPos|}}}|{{{sortPos|}}}|}}<br>primaryKey={{#if:{{{primaryKey|}}}|{{{primaryKey|}}}|}}<br>mandatory={{#if:{{{mandatory|}}}|{{{mandatory|}}}|}}<br>namespace={{#if:{{{namespace|}}}|{{{namespace|}}}|}}<br>size={{#if:{{{size|}}}|{{{size|}}}|}}<br>uploadable={{#if:{{{uploadable|}}}|{{{uploadable|}}}|}}<br>defaultValue={{#if:{{{defaultValue|}}}|{{{defaultValue|}}}|}}<br>inputType={{#if:{{{inputType|}}}|{{{inputType|}}}|}}<br>allowedValues={{#if:{{{allowedValues|}}}|{{{allowedValues|}}}|}}<br>documentation={{#if:{{{documentation|}}}|{{{documentation|}}}|}}<br>values_from={{#if:{{{values_from|}}}|{{{values_from|}}}|}}<br>showInGrid={{#if:{{{showInGrid|}}}|{{{showInGrid|}}}|}}<br>isLink={{#if:{{{isLink|}}}|{{{isLink|}}}|}}<br>nullable={{#if:{{{nullable|}}}|{{{nullable|}}}|}}<br>topic={{#if:{{{topic|}}}|[[{{{topic|}}}]]|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Property
{{!}}-
!name
{{!}} {{#if:{{{name|}}}|{{{name|}}}|}}
{{!}}-
!label
{{!}} {{#if:{{{label|}}}|{{{label|}}}|}}
{{!}}-
!type
{{!}} {{#if:{{{type|}}}|[[{{{type|}}}]]|}}
{{!}}-
!index
{{!}} {{#if:{{{index|}}}|{{{index|}}}|}}
{{!}}-
!sortPos
{{!}} {{#if:{{{sortPos|}}}|{{{sortPos|}}}|}}
{{!}}-
!primary key
{{!}} {{#if:{{{primaryKey|}}}|{{{primaryKey|}}}|}}
{{!}}-
!mandatory
{{!}} {{#if:{{{mandatory|}}}|{{{mandatory|}}}|}}
{{!}}-
!namespace
{{!}} {{#if:{{{namespace|}}}|{{{namespace|}}}|}}
{{!}}-
!size
{{!}} {{#if:{{{size|}}}|{{{size|}}}|}}
{{!}}-
!uploadable
{{!}} {{#if:{{{uploadable|}}}|{{{uploadable|}}}|}}
{{!}}-
!default
{{!}} {{#if:{{{defaultValue|}}}|{{{defaultValue|}}}|}}
{{!}}-
!inputType
{{!}} {{#if:{{{inputType|}}}|{{{inputType|}}}|}}
{{!}}-
!allowedValues
{{!}} {{#if:{{{allowedValues|}}}|{{{allowedValues|}}}|}}
{{!}}-
!documentation
{{!}} {{#if:{{{documentation|}}}|{{{documentation|}}}|}}
{{!}}-
!values from
{{!}} {{#if:{{{values_from|}}}|{{{values_from|}}}|}}
{{!}}-
!showInGrid
{{!}} {{#if:{{{showInGrid|}}}|{{{showInGrid|}}}|}}
{{!}}-
!isLink
{{!}} {{#if:{{{isLink|}}}|{{{isLink|}}}|}}
{{!}}-
!allow nulls?
{{!}} {{#if:{{{nullable|}}}|{{{nullable|}}}|}}
{{!}}-
!topic
{{!}} {{#if:{{{topic|}}}|[[{{{topic|}}}]]|}}
{{!}}-
{{!}}}
}}
}}
[[Category:Property]]</includeonly>
d4977c0b4948c798a7315908febbc7717942c7d2
Template:TopicLink
10
142
186
2015-11-06T06:47:32Z
Wf
1
created by WikiTask 2015-11-06T06:47:31Z
wikitext
text/x-wiki
<noinclude>
<!--
-- Copyright (C) 2015 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->
This is the template {{Link|target=Template:TopicLink|title=TopicLink}}.
It belongs to the concept/topic {{Link|target=:Concept:TopicLink}}<br>
You may find examples for the use of this template via the {{Link|target=List of TopicLinks}}.
=== Usage ===
==== storemode subobject ====
<pre>{{TopicLink
|name=
|source=
|sourceRole=
|sourceMultiple=
|sourceDocumentation=
|target=
|targetRole=
|targetMultiple=
|targetDocumentation=
|masterDetail=
|storemode=subobject
}}
</pre>
==== storemode property ====
<pre>{{TopicLink
|name=
|source=
|sourceRole=
|sourceMultiple=
|sourceDocumentation=
|target=
|targetRole=
|targetMultiple=
|targetDocumentation=
|masterDetail=
|storemode=property
}}
</pre>
==== storemode none ====
<pre>{{TopicLink
|name=
|source=
|sourceRole=
|sourceMultiple=
|sourceDocumentation=
|target=
|targetRole=
|targetMultiple=
|targetDocumentation=
|masterDetail=
|storemode=none
}}
</pre>
==== viewmode tableheader ====
<pre>{{TopicLink
|name=
|source=
|sourceRole=
|sourceMultiple=
|sourceDocumentation=
|target=
|targetRole=
|targetMultiple=
|targetDocumentation=
|masterDetail=
|viewmode=tableheader
}}
</pre>
==== viewmode tablerow ====
<pre>{{TopicLink
|name=
|source=
|sourceRole=
|sourceMultiple=
|sourceDocumentation=
|target=
|targetRole=
|targetMultiple=
|targetDocumentation=
|masterDetail=
|viewmode=tablerow
}}
</pre>
==== viewmode tablefooter ====
<pre>{{TopicLink
|name=
|source=
|sourceRole=
|sourceMultiple=
|sourceDocumentation=
|target=
|targetRole=
|targetMultiple=
|targetDocumentation=
|masterDetail=
|viewmode=tablefooter
}}
</pre>
==== viewmode labelfield ====
<pre>{{TopicLink
|name=
|source=
|sourceRole=
|sourceMultiple=
|sourceDocumentation=
|target=
|targetRole=
|targetMultiple=
|targetDocumentation=
|masterDetail=
|viewmode=labelfield
}}
</pre>
=== Source ===
<source lang='html4strict'>
{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA TopicLink<br>|}}
{{#if:{{{?name|}}}|"{{{?name}}}" is name of it <br>|}}
{{#if:{{{?source|}}}|"{{{?source}}}" is source of it <br>|}}
{{#if:{{{?sourceRole|}}}|"{{{?sourceRole}}}" is sourceRole of it <br>|}}
{{#if:{{{?sourceMultiple|}}}|"{{{?sourceMultiple}}}" is sourceMultiple of it <br>|}}
{{#if:{{{?sourceDocumentation|}}}|"{{{?sourceDocumentation}}}" is sourceDocumentation of it <br>|}}
{{#if:{{{?target|}}}|"{{{?target}}}" is target of it <br>|}}
{{#if:{{{?targetRole|}}}|"{{{?targetRole}}}" is targetRole of it <br>|}}
{{#if:{{{?targetMultiple|}}}|"{{{?targetMultiple}}}" is targetMultiple of it <br>|}}
{{#if:{{{?targetDocumentation|}}}|"{{{?targetDocumentation}}}" is targetDocumentation of it <br>|}}
{{#if:{{{?masterDetail|}}}|"{{{?masterDetail}}}" is masterDetail of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|subobject={{#subobject:-
|isA=TopicLink
|TopicLink name={{{name|}}}
|TopicLink source={{{source|}}}
|TopicLink sourceRole={{{sourceRole|}}}
|TopicLink sourceMultiple={{{sourceMultiple|}}}
|TopicLink sourceDocumentation={{{sourceDocumentation|}}}
|TopicLink target={{{target|}}}
|TopicLink targetRole={{{targetRole|}}}
|TopicLink targetMultiple={{{targetMultiple|}}}
|TopicLink targetDocumentation={{{targetDocumentation|}}}
|TopicLink masterDetail={{{masterDetail|}}}
}}
|{{#set:
|isA=TopicLink
|TopicLink name={{{name|}}}
|TopicLink source={{{source|}}}
|TopicLink sourceRole={{{sourceRole|}}}
|TopicLink sourceMultiple={{{sourceMultiple|}}}
|TopicLink sourceDocumentation={{{sourceDocumentation|}}}
|TopicLink target={{{target|}}}
|TopicLink targetRole={{{targetRole|}}}
|TopicLink targetMultiple={{{targetMultiple|}}}
|TopicLink targetDocumentation={{{targetDocumentation|}}}
|TopicLink masterDetail={{{masterDetail|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
|tableheader={{{!}} class='wikitable'
!name!!source!!sourceRole!!sourceMultiple!!sourceDocumentation!!target!!targetRole!!targetMultiple!!targetDocumentation!!masterDetail
{{!}}-
|tablerow=
{{!}}{{{name|}}}{{!}}{{!}}{{{source|}}}{{!}}{{!}}{{{sourceRole|}}}{{!}}{{!}}{{{sourceMultiple|}}}{{!}}{{!}}{{{sourceDocumentation|}}}{{!}}{{!}}{{{target|}}}{{!}}{{!}}{{{targetRole|}}}{{!}}{{!}}{{{targetMultiple|}}}{{!}}{{!}}{{{targetDocumentation|}}}{{!}}{{!}}{{{masterDetail|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
name={{#if:{{{name|}}}|{{{name|}}}|}}<br>source={{#if:{{{source|}}}|[[{{{source|}}}]]|}}<br>sourceRole={{#if:{{{sourceRole|}}}|{{{sourceRole|}}}|}}<br>sourceMultiple={{#if:{{{sourceMultiple|}}}|{{{sourceMultiple|}}}|}}<br>sourceDocumentation={{#if:{{{sourceDocumentation|}}}|{{{sourceDocumentation|}}}|}}<br>target={{#if:{{{target|}}}|[[{{{target|}}}]]|}}<br>targetRole={{#if:{{{targetRole|}}}|{{{targetRole|}}}|}}<br>targetMultiple={{#if:{{{targetMultiple|}}}|{{{targetMultiple|}}}|}}<br>targetDocumentation={{#if:{{{targetDocumentation|}}}|{{{targetDocumentation|}}}|}}<br>masterDetail={{#if:{{{masterDetail|}}}|{{{masterDetail|}}}|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}TopicLink
{{!}}-
!name
{{!}} {{#if:{{{name|}}}|{{{name|}}}|}}
{{!}}-
!source
{{!}} {{#if:{{{source|}}}|[[{{{source|}}}]]|}}
{{!}}-
!sourceRole
{{!}} {{#if:{{{sourceRole|}}}|{{{sourceRole|}}}|}}
{{!}}-
!sourceMultiple
{{!}} {{#if:{{{sourceMultiple|}}}|{{{sourceMultiple|}}}|}}
{{!}}-
!source Doc
{{!}} {{#if:{{{sourceDocumentation|}}}|{{{sourceDocumentation|}}}|}}
{{!}}-
!target
{{!}} {{#if:{{{target|}}}|[[{{{target|}}}]]|}}
{{!}}-
!targetRole
{{!}} {{#if:{{{targetRole|}}}|{{{targetRole|}}}|}}
{{!}}-
!sourceMultiple
{{!}} {{#if:{{{targetMultiple|}}}|{{{targetMultiple|}}}|}}
{{!}}-
!target Doc
{{!}} {{#if:{{{targetDocumentation|}}}|{{{targetDocumentation|}}}|}}
{{!}}-
!masterDetail
{{!}} {{#if:{{{masterDetail|}}}|{{{masterDetail|}}}|}}
{{!}}-
{{!}}}
}}
}}
</source>
Click on "Edit" to edit the Source of this Template.
</noinclude><includeonly>{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA TopicLink<br>|}}
{{#if:{{{?name|}}}|"{{{?name}}}" is name of it <br>|}}
{{#if:{{{?source|}}}|"{{{?source}}}" is source of it <br>|}}
{{#if:{{{?sourceRole|}}}|"{{{?sourceRole}}}" is sourceRole of it <br>|}}
{{#if:{{{?sourceMultiple|}}}|"{{{?sourceMultiple}}}" is sourceMultiple of it <br>|}}
{{#if:{{{?sourceDocumentation|}}}|"{{{?sourceDocumentation}}}" is sourceDocumentation of it <br>|}}
{{#if:{{{?target|}}}|"{{{?target}}}" is target of it <br>|}}
{{#if:{{{?targetRole|}}}|"{{{?targetRole}}}" is targetRole of it <br>|}}
{{#if:{{{?targetMultiple|}}}|"{{{?targetMultiple}}}" is targetMultiple of it <br>|}}
{{#if:{{{?targetDocumentation|}}}|"{{{?targetDocumentation}}}" is targetDocumentation of it <br>|}}
{{#if:{{{?masterDetail|}}}|"{{{?masterDetail}}}" is masterDetail of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|subobject={{#subobject:-
|isA=TopicLink
|TopicLink name={{{name|}}}
|TopicLink source={{{source|}}}
|TopicLink sourceRole={{{sourceRole|}}}
|TopicLink sourceMultiple={{{sourceMultiple|}}}
|TopicLink sourceDocumentation={{{sourceDocumentation|}}}
|TopicLink target={{{target|}}}
|TopicLink targetRole={{{targetRole|}}}
|TopicLink targetMultiple={{{targetMultiple|}}}
|TopicLink targetDocumentation={{{targetDocumentation|}}}
|TopicLink masterDetail={{{masterDetail|}}}
}}
|{{#set:
|isA=TopicLink
|TopicLink name={{{name|}}}
|TopicLink source={{{source|}}}
|TopicLink sourceRole={{{sourceRole|}}}
|TopicLink sourceMultiple={{{sourceMultiple|}}}
|TopicLink sourceDocumentation={{{sourceDocumentation|}}}
|TopicLink target={{{target|}}}
|TopicLink targetRole={{{targetRole|}}}
|TopicLink targetMultiple={{{targetMultiple|}}}
|TopicLink targetDocumentation={{{targetDocumentation|}}}
|TopicLink masterDetail={{{masterDetail|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
|tableheader={{{!}} class='wikitable'
!name!!source!!sourceRole!!sourceMultiple!!sourceDocumentation!!target!!targetRole!!targetMultiple!!targetDocumentation!!masterDetail
{{!}}-
|tablerow=
{{!}}{{{name|}}}{{!}}{{!}}{{{source|}}}{{!}}{{!}}{{{sourceRole|}}}{{!}}{{!}}{{{sourceMultiple|}}}{{!}}{{!}}{{{sourceDocumentation|}}}{{!}}{{!}}{{{target|}}}{{!}}{{!}}{{{targetRole|}}}{{!}}{{!}}{{{targetMultiple|}}}{{!}}{{!}}{{{targetDocumentation|}}}{{!}}{{!}}{{{masterDetail|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
name={{#if:{{{name|}}}|{{{name|}}}|}}<br>source={{#if:{{{source|}}}|[[{{{source|}}}]]|}}<br>sourceRole={{#if:{{{sourceRole|}}}|{{{sourceRole|}}}|}}<br>sourceMultiple={{#if:{{{sourceMultiple|}}}|{{{sourceMultiple|}}}|}}<br>sourceDocumentation={{#if:{{{sourceDocumentation|}}}|{{{sourceDocumentation|}}}|}}<br>target={{#if:{{{target|}}}|[[{{{target|}}}]]|}}<br>targetRole={{#if:{{{targetRole|}}}|{{{targetRole|}}}|}}<br>targetMultiple={{#if:{{{targetMultiple|}}}|{{{targetMultiple|}}}|}}<br>targetDocumentation={{#if:{{{targetDocumentation|}}}|{{{targetDocumentation|}}}|}}<br>masterDetail={{#if:{{{masterDetail|}}}|{{{masterDetail|}}}|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}TopicLink
{{!}}-
!name
{{!}} {{#if:{{{name|}}}|{{{name|}}}|}}
{{!}}-
!source
{{!}} {{#if:{{{source|}}}|[[{{{source|}}}]]|}}
{{!}}-
!sourceRole
{{!}} {{#if:{{{sourceRole|}}}|{{{sourceRole|}}}|}}
{{!}}-
!sourceMultiple
{{!}} {{#if:{{{sourceMultiple|}}}|{{{sourceMultiple|}}}|}}
{{!}}-
!source Doc
{{!}} {{#if:{{{sourceDocumentation|}}}|{{{sourceDocumentation|}}}|}}
{{!}}-
!target
{{!}} {{#if:{{{target|}}}|[[{{{target|}}}]]|}}
{{!}}-
!targetRole
{{!}} {{#if:{{{targetRole|}}}|{{{targetRole|}}}|}}
{{!}}-
!sourceMultiple
{{!}} {{#if:{{{targetMultiple|}}}|{{{targetMultiple|}}}|}}
{{!}}-
!target Doc
{{!}} {{#if:{{{targetDocumentation|}}}|{{{targetDocumentation|}}}|}}
{{!}}-
!masterDetail
{{!}} {{#if:{{{masterDetail|}}}|{{{masterDetail|}}}|}}
{{!}}-
{{!}}}
}}
}}
</includeonly>
db0fa97d84e5884ae1b4f87005c6070dedcda267
Concept:Action/Properties
108
143
187
2015-11-06T06:47:34Z
Wf
1
created by WikiTask 2015-11-06T06:47:33Z
wikitext
text/x-wiki
== properties of Action ==
=== [[Property:Action servicetype]] ===
<pre>
{{Property
|name=servicetype
|documentation=
|type=Special:Types/Text
|label=servicetype
|primaryKey=
|mandatory=
|uploadable=
|size=
|index=
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Action
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Action service]] ===
<pre>
{{Property
|name=service
|documentation=
|type=Special:Types/Text
|label=service
|primaryKey=
|mandatory=
|uploadable=
|size=
|index=
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Action
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Action inputtype]] ===
<pre>
{{Property
|name=inputtype
|documentation=
|type=Special:Types/Text
|label=inputtype
|primaryKey=
|mandatory=
|uploadable=
|size=
|index=
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Action
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Action input]] ===
<pre>
{{Property
|name=input
|documentation=
|type=Special:Types/Text
|label=input
|primaryKey=
|mandatory=
|uploadable=
|size=
|index=
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Action
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Action actionpage]] ===
<pre>
{{Property
|name=actionpage
|documentation=
|type=Special:Types/Text
|label=actionpage
|primaryKey=
|mandatory=
|uploadable=
|size=
|index=
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Action
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
=== [[Property:Action output]] ===
<pre>
{{Property
|name=output
|documentation=
|type=Special:Types/Text
|label=output
|primaryKey=
|mandatory=
|uploadable=
|size=
|index=
|sortPos=
|defaultValue=
|inputType=
|allowedValues=
|topic=Concept:Action
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
6631bca5789e70022a70aad462f3505568102001
Template:Action
10
144
188
2015-11-06T06:47:37Z
Wf
1
created by WikiTask 2015-11-06T06:47:36Z
wikitext
text/x-wiki
<noinclude>
<!--
-- Copyright (C) 2015 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->
This is the template {{Link|target=Template:Action|title=Action}}.
It belongs to the concept/topic {{Link|target=:Concept:Action}}<br>
You may find examples for the use of this template via the {{Link|target=List of Actions}}.
=== Usage ===
==== storemode subobject ====
<pre>{{Action
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|storemode=subobject
}}
</pre>
==== storemode property ====
<pre>{{Action
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|storemode=property
}}
</pre>
==== storemode none ====
<pre>{{Action
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|storemode=none
}}
</pre>
==== viewmode tableheader ====
<pre>{{Action
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|viewmode=tableheader
}}
</pre>
==== viewmode tablerow ====
<pre>{{Action
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|viewmode=tablerow
}}
</pre>
==== viewmode tablefooter ====
<pre>{{Action
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|viewmode=tablefooter
}}
</pre>
==== viewmode labelfield ====
<pre>{{Action
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|viewmode=labelfield
}}
</pre>
=== Source ===
<source lang='html4strict'>
{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Action<br>|}}
{{#if:{{{?servicetype|}}}|"{{{?servicetype}}}" is servicetype of it <br>|}}
{{#if:{{{?service|}}}|"{{{?service}}}" is service of it <br>|}}
{{#if:{{{?inputtype|}}}|"{{{?inputtype}}}" is inputtype of it <br>|}}
{{#if:{{{?input|}}}|"{{{?input}}}" is input of it <br>|}}
{{#if:{{{?actionpage|}}}|"{{{?actionpage}}}" is actionpage of it <br>|}}
{{#if:{{{?output|}}}|"{{{?output}}}" is output of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|{{#set:
|isA=Action
|Action servicetype={{{servicetype|}}}
|Action service={{{service|}}}
|Action inputtype={{{inputtype|}}}
|Action input={{{input|}}}
|Action actionpage={{{actionpage|}}}
|Action output={{{output|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
|tableheader={{{!}} class='wikitable'
!servicetype!!service!!inputtype!!input!!actionpage!!output
{{!}}-
|tablerow=
{{!}}{{{servicetype|}}}{{!}}{{!}}{{{service|}}}{{!}}{{!}}{{{inputtype|}}}{{!}}{{!}}{{{input|}}}{{!}}{{!}}{{{actionpage|}}}{{!}}{{!}}{{{output|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
servicetype={{#if:{{{servicetype|}}}|{{{servicetype|}}}|}}<br>service={{#if:{{{service|}}}|{{{service|}}}|}}<br>inputtype={{#if:{{{inputtype|}}}|{{{inputtype|}}}|}}<br>input={{#if:{{{input|}}}|{{{input|}}}|}}<br>actionpage={{#if:{{{actionpage|}}}|{{{actionpage|}}}|}}<br>output={{#if:{{{output|}}}|{{{output|}}}|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Action
{{!}}-
!servicetype
{{!}} {{#if:{{{servicetype|}}}|{{{servicetype|}}}|}}
{{!}}-
!service
{{!}} {{#if:{{{service|}}}|{{{service|}}}|}}
{{!}}-
!inputtype
{{!}} {{#if:{{{inputtype|}}}|{{{inputtype|}}}|}}
{{!}}-
!input
{{!}} {{#if:{{{input|}}}|{{{input|}}}|}}
{{!}}-
!actionpage
{{!}} {{#if:{{{actionpage|}}}|{{{actionpage|}}}|}}
{{!}}-
!output
{{!}} {{#if:{{{output|}}}|{{{output|}}}|}}
{{!}}-
{{!}}}
}}
}}
</source>
Click on "Edit" to edit the Source of this Template.
</noinclude><includeonly>{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Action<br>|}}
{{#if:{{{?servicetype|}}}|"{{{?servicetype}}}" is servicetype of it <br>|}}
{{#if:{{{?service|}}}|"{{{?service}}}" is service of it <br>|}}
{{#if:{{{?inputtype|}}}|"{{{?inputtype}}}" is inputtype of it <br>|}}
{{#if:{{{?input|}}}|"{{{?input}}}" is input of it <br>|}}
{{#if:{{{?actionpage|}}}|"{{{?actionpage}}}" is actionpage of it <br>|}}
{{#if:{{{?output|}}}|"{{{?output}}}" is output of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|{{#set:
|isA=Action
|Action servicetype={{{servicetype|}}}
|Action service={{{service|}}}
|Action inputtype={{{inputtype|}}}
|Action input={{{input|}}}
|Action actionpage={{{actionpage|}}}
|Action output={{{output|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
|tableheader={{{!}} class='wikitable'
!servicetype!!service!!inputtype!!input!!actionpage!!output
{{!}}-
|tablerow=
{{!}}{{{servicetype|}}}{{!}}{{!}}{{{service|}}}{{!}}{{!}}{{{inputtype|}}}{{!}}{{!}}{{{input|}}}{{!}}{{!}}{{{actionpage|}}}{{!}}{{!}}{{{output|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
servicetype={{#if:{{{servicetype|}}}|{{{servicetype|}}}|}}<br>service={{#if:{{{service|}}}|{{{service|}}}|}}<br>inputtype={{#if:{{{inputtype|}}}|{{{inputtype|}}}|}}<br>input={{#if:{{{input|}}}|{{{input|}}}|}}<br>actionpage={{#if:{{{actionpage|}}}|{{{actionpage|}}}|}}<br>output={{#if:{{{output|}}}|{{{output|}}}|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Action
{{!}}-
!servicetype
{{!}} {{#if:{{{servicetype|}}}|{{{servicetype|}}}|}}
{{!}}-
!service
{{!}} {{#if:{{{service|}}}|{{{service|}}}|}}
{{!}}-
!inputtype
{{!}} {{#if:{{{inputtype|}}}|{{{inputtype|}}}|}}
{{!}}-
!input
{{!}} {{#if:{{{input|}}}|{{{input|}}}|}}
{{!}}-
!actionpage
{{!}} {{#if:{{{actionpage|}}}|{{{actionpage|}}}|}}
{{!}}-
!output
{{!}} {{#if:{{{output|}}}|{{{output|}}}|}}
{{!}}-
{{!}}}
}}
}}
</includeonly>
648c4eef0eefeeee1c9bfd7fe4986c7f29dae8aa
List of Actions
0
145
189
2015-11-06T06:47:40Z
Wf
1
created by WikiTask 2015-11-06T06:47:39Z
wikitext
text/x-wiki
__NOCACHE__
{{#ask: [[Topic name::Action]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
== Actions ==
{{#ask: [[Concept:Action]]
| ?Action servicetype = servicetype
| ?Action service = service
| ?Action inputtype = inputtype
| ?Action input = input
| ?Action actionpage = actionpage
| ?Action output = output
}}
{{#forminput:form=Action|button text=add Action}}
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
=== SiDIF ===
<div class="mw-collapsible-content">
{{#ask: [[Concept:Action]]
| ?#=pageid
| ?Action servicetype = servicetype
| ?Action service = service
| ?Action inputtype = inputtype
| ?Action input = input
| ?Action actionpage = actionpage
| ?Action output = output
| mainlabel=-
| format=template
| named args=yes
| template=Action
| userparam=sidif
| limit=300
}}
</div>
</div>
[[:Category:Action]]
7070c1f278f26e4ceebd2cbc19777e1b933e031f
Help:Action
12
146
190
2015-11-06T06:47:44Z
Wf
1
created by WikiTask 2015-11-06T06:47:41Z
wikitext
text/x-wiki
== Help for Action ==
{{#ask: [[Topic name::Action]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
=== Documentation ===
=== Example Actions ===
{{#ask: [[Concept:Action]]
}}
=== Properties ===
{{#ask: [[Concept:Property]][[Property topic::Concept:Action]]
| ?Property documentation = documentation
| ?Property type = type
| ?Property name = name
| ?Property label = label
| ?Property allowedValues = allowedValues
| ?Property mandatory = mandatory
| ?Property uploadable = uploadable
|format=table
}}
=== uml ===
<uml>
title Action
note as ActionDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as ActionNote
end note
class Action {
Text servicetype
Text service
Text inputtype
Text input
Text actionpage
Text output
}
ActionNote .. Action
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
see also
* [[List of Actions]]
* [[Help:Action]]
* [[Concept:Action]]
* [[:Category:Action]]
* [[:Template:Action]]
* [[:Form:Action]]
topic links:
[[Category:Action]]
63560b804c7f17e96a07b26d7f4eed9c99a3f872
Category:Action
14
147
191
2015-11-06T06:47:48Z
Wf
1
created by WikiTask 2015-11-06T06:47:46Z
wikitext
text/x-wiki
__NOTOC__
{{#ask: [[Topic name::Action]] | ?Topic wikiDocumentation= | mainlabel=-}}
Actions may be added and edited with the form [[has default form::Action]]
* [[List of Actions]]
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
Action description
<div class="mw-collapsible-content">
=== uml ===
<uml>
title Action
note as ActionDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as ActionNote
end note
class Action {
Text servicetype
Text service
Text inputtype
Text input
Text actionpage
Text output
}
ActionNote .. Action
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
* [[Help:Action]]
* [[Concept:Action]]
* [[:Template:Action]]
* [[:Form:Action]]
=== Properties ===
* [[Property:Action servicetype]]
* [[Property:Action service]]
* [[Property:Action inputtype]]
* [[Property:Action input]]
* [[Property:Action actionpage]]
* [[Property:Action output]]
</div>
</div>
a60ae4b81be39f75f41766245e6cce4f161de5e9
Template:Topic
10
148
192
2015-11-06T06:47:51Z
Wf
1
created by WikiTask 2015-11-06T06:47:49Z
wikitext
text/x-wiki
<noinclude>
<!--
-- Copyright (C) 2015 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->
This is the template {{Link|target=Template:Topic|title=Topic}}.
It belongs to the concept/topic {{Link|target=:Concept:Topic}}<br>
You may find examples for the use of this template via the {{Link|target=List of Topics}}.
=== Usage ===
==== storemode subobject ====
<pre>{{Topic
|name=
|pluralName=
|icon=
|iconUrl=
|documentation=
|wikiDocumentation=
|defaultstoremode=
|listLimit=
|cargo=
|context=
|storemode=subobject
}}
</pre>
==== storemode property ====
<pre>{{Topic
|name=
|pluralName=
|icon=
|iconUrl=
|documentation=
|wikiDocumentation=
|defaultstoremode=
|listLimit=
|cargo=
|context=
|storemode=property
}}
</pre>
==== storemode none ====
<pre>{{Topic
|name=
|pluralName=
|icon=
|iconUrl=
|documentation=
|wikiDocumentation=
|defaultstoremode=
|listLimit=
|cargo=
|context=
|storemode=none
}}
</pre>
==== viewmode tableheader ====
<pre>{{Topic
|name=
|pluralName=
|icon=
|iconUrl=
|documentation=
|wikiDocumentation=
|defaultstoremode=
|listLimit=
|cargo=
|context=
|viewmode=tableheader
}}
</pre>
==== viewmode tablerow ====
<pre>{{Topic
|name=
|pluralName=
|icon=
|iconUrl=
|documentation=
|wikiDocumentation=
|defaultstoremode=
|listLimit=
|cargo=
|context=
|viewmode=tablerow
}}
</pre>
==== viewmode tablefooter ====
<pre>{{Topic
|name=
|pluralName=
|icon=
|iconUrl=
|documentation=
|wikiDocumentation=
|defaultstoremode=
|listLimit=
|cargo=
|context=
|viewmode=tablefooter
}}
</pre>
==== viewmode labelfield ====
<pre>{{Topic
|name=
|pluralName=
|icon=
|iconUrl=
|documentation=
|wikiDocumentation=
|defaultstoremode=
|listLimit=
|cargo=
|context=
|viewmode=labelfield
}}
</pre>
=== Source ===
<source lang='html4strict'>
{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Topic<br>|}}
{{#if:{{{?name|}}}|"{{{?name}}}" is name of it <br>|}}
{{#if:{{{?pluralName|}}}|"{{{?pluralName}}}" is pluralName of it <br>|}}
{{#if:{{{?icon|}}}|"{{{?icon}}}" is icon of it <br>|}}
{{#if:{{{?iconUrl|}}}|"{{{?iconUrl}}}" is iconUrl of it <br>|}}
{{#if:{{{?documentation|}}}|"{{{?documentation}}}" is documentation of it <br>|}}
{{#if:{{{?wikiDocumentation|}}}|"{{{?wikiDocumentation}}}" is wikiDocumentation of it <br>|}}
{{#if:{{{?defaultstoremode|}}}|"{{{?defaultstoremode}}}" is defaultstoremode of it <br>|}}
{{#if:{{{?listLimit|}}}|"{{{?listLimit}}}" is listLimit of it <br>|}}
{{#if:{{{?cargo|}}}|"{{{?cargo}}}" is cargo of it <br>|}}
{{#if:{{{?context|}}}|"{{{?context}}}" is context of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|{{#set:
|isA=Topic
|Topic name={{{name|}}}
|Topic pluralName={{{pluralName|}}}
|Topic icon={{{icon|}}}
|Topic iconUrl={{{iconUrl|}}}
|Topic documentation={{{documentation|}}}
|Topic wikiDocumentation={{{wikiDocumentation|}}}
|Topic defaultstoremode={{{defaultstoremode|}}}
|Topic listLimit={{{listLimit|}}}
|Topic cargo={{{cargo|}}}
|Topic context={{{context|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
=== properties ===
{{#ask:[[Concept:Property]][[Property topic::{{FULLPAGENAME}}]]
| ?Property name = name
| ?Property label = label
| ?Property type = type
| ?Property index = index
| ?Property sortPos = sortPos
| ?Property primaryKey = primaryKey
| ?Property mandatory = mandatory
| ?Property namespace = namespace
| ?Property size = size
| ?Property uploadable = uploadable
| ?Property defaultValue = defaultValue
| ?Property inputType = inputType
| ?Property allowedValues = allowedValues
| ?Property documentation = documentation
| ?Property values_from = values_from
| ?Property showInGrid = showInGrid
| ?Property isLink = isLink
| ?Property nullable = nullable
| ?Property topic = topic
}}
|tableheader={{{!}} class='wikitable'
!name!!pluralName!!icon!!iconUrl!!documentation!!wikiDocumentation!!defaultstoremode!!listLimit!!cargo!!context
{{!}}-
|tablerow=
{{!}}{{{name|}}}{{!}}{{!}}{{{pluralName|}}}{{!}}{{!}}{{{icon|}}}{{!}}{{!}}{{{iconUrl|}}}{{!}}{{!}}{{{documentation|}}}{{!}}{{!}}{{{wikiDocumentation|}}}{{!}}{{!}}{{{defaultstoremode|}}}{{!}}{{!}}{{{listLimit|}}}{{!}}{{!}}{{{cargo|}}}{{!}}{{!}}{{{context|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
name={{#if:{{{name|}}}|{{{name|}}}|}}<br>pluralName={{#if:{{{pluralName|}}}|{{{pluralName|}}}|}}<br>icon={{#if:{{{icon|}}}|[[{{{icon|}}}]]|}}<br>iconUrl={{#if:{{{iconUrl|}}}|{{{iconUrl|}}}|}}<br>documentation={{#if:{{{documentation|}}}|{{{documentation|}}}|}}<br>wikiDocumentation={{#if:{{{wikiDocumentation|}}}|{{{wikiDocumentation|}}}|}}<br>defaultstoremode={{#if:{{{defaultstoremode|}}}|{{{defaultstoremode|}}}|}}<br>listLimit={{#if:{{{listLimit|}}}|{{{listLimit|}}}|}}<br>cargo={{#if:{{{cargo|}}}|{{{cargo|}}}|}}<br>context={{#if:{{{context|}}}|[[{{{context|}}}]]|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Topic
{{!}}-
!name
{{!}} {{#if:{{{name|}}}|{{{name|}}}|}}
{{!}}-
!pluralName
{{!}} {{#if:{{{pluralName|}}}|{{{pluralName|}}}|}}
{{!}}-
!icon
{{!}} {{#if:{{{icon|}}}|[[{{{icon|}}}]]|}}
{{!}}-
!icon Url
{{!}} {{#if:{{{iconUrl|}}}|{{{iconUrl|}}}|}}
{{!}}-
!documentation
{{!}} {{#if:{{{documentation|}}}|{{{documentation|}}}|}}
{{!}}-
!wikiDocumentation
{{!}} {{#if:{{{wikiDocumentation|}}}|{{{wikiDocumentation|}}}|}}
{{!}}-
!default storemode
{{!}} {{#if:{{{defaultstoremode|}}}|{{{defaultstoremode|}}}|}}
{{!}}-
!list Limit
{{!}} {{#if:{{{listLimit|}}}|{{{listLimit|}}}|}}
{{!}}-
!use cargo
{{!}} {{#if:{{{cargo|}}}|{{{cargo|}}}|}}
{{!}}-
!context
{{!}} {{#if:{{{context|}}}|[[{{{context|}}}]]|}}
{{!}}-
{{!}}}
}}
}}
[[Category:Topic]]
</source>
Click on "Edit" to edit the Source of this Template.
</noinclude><includeonly>{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Topic<br>|}}
{{#if:{{{?name|}}}|"{{{?name}}}" is name of it <br>|}}
{{#if:{{{?pluralName|}}}|"{{{?pluralName}}}" is pluralName of it <br>|}}
{{#if:{{{?icon|}}}|"{{{?icon}}}" is icon of it <br>|}}
{{#if:{{{?iconUrl|}}}|"{{{?iconUrl}}}" is iconUrl of it <br>|}}
{{#if:{{{?documentation|}}}|"{{{?documentation}}}" is documentation of it <br>|}}
{{#if:{{{?wikiDocumentation|}}}|"{{{?wikiDocumentation}}}" is wikiDocumentation of it <br>|}}
{{#if:{{{?defaultstoremode|}}}|"{{{?defaultstoremode}}}" is defaultstoremode of it <br>|}}
{{#if:{{{?listLimit|}}}|"{{{?listLimit}}}" is listLimit of it <br>|}}
{{#if:{{{?cargo|}}}|"{{{?cargo}}}" is cargo of it <br>|}}
{{#if:{{{?context|}}}|"{{{?context}}}" is context of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|{{#set:
|isA=Topic
|Topic name={{{name|}}}
|Topic pluralName={{{pluralName|}}}
|Topic icon={{{icon|}}}
|Topic iconUrl={{{iconUrl|}}}
|Topic documentation={{{documentation|}}}
|Topic wikiDocumentation={{{wikiDocumentation|}}}
|Topic defaultstoremode={{{defaultstoremode|}}}
|Topic listLimit={{{listLimit|}}}
|Topic cargo={{{cargo|}}}
|Topic context={{{context|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
=== properties ===
{{#ask:[[Concept:Property]][[Property topic::{{FULLPAGENAME}}]]
| ?Property name = name
| ?Property label = label
| ?Property type = type
| ?Property index = index
| ?Property sortPos = sortPos
| ?Property primaryKey = primaryKey
| ?Property mandatory = mandatory
| ?Property namespace = namespace
| ?Property size = size
| ?Property uploadable = uploadable
| ?Property defaultValue = defaultValue
| ?Property inputType = inputType
| ?Property allowedValues = allowedValues
| ?Property documentation = documentation
| ?Property values_from = values_from
| ?Property showInGrid = showInGrid
| ?Property isLink = isLink
| ?Property nullable = nullable
| ?Property topic = topic
}}
|tableheader={{{!}} class='wikitable'
!name!!pluralName!!icon!!iconUrl!!documentation!!wikiDocumentation!!defaultstoremode!!listLimit!!cargo!!context
{{!}}-
|tablerow=
{{!}}{{{name|}}}{{!}}{{!}}{{{pluralName|}}}{{!}}{{!}}{{{icon|}}}{{!}}{{!}}{{{iconUrl|}}}{{!}}{{!}}{{{documentation|}}}{{!}}{{!}}{{{wikiDocumentation|}}}{{!}}{{!}}{{{defaultstoremode|}}}{{!}}{{!}}{{{listLimit|}}}{{!}}{{!}}{{{cargo|}}}{{!}}{{!}}{{{context|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
name={{#if:{{{name|}}}|{{{name|}}}|}}<br>pluralName={{#if:{{{pluralName|}}}|{{{pluralName|}}}|}}<br>icon={{#if:{{{icon|}}}|[[{{{icon|}}}]]|}}<br>iconUrl={{#if:{{{iconUrl|}}}|{{{iconUrl|}}}|}}<br>documentation={{#if:{{{documentation|}}}|{{{documentation|}}}|}}<br>wikiDocumentation={{#if:{{{wikiDocumentation|}}}|{{{wikiDocumentation|}}}|}}<br>defaultstoremode={{#if:{{{defaultstoremode|}}}|{{{defaultstoremode|}}}|}}<br>listLimit={{#if:{{{listLimit|}}}|{{{listLimit|}}}|}}<br>cargo={{#if:{{{cargo|}}}|{{{cargo|}}}|}}<br>context={{#if:{{{context|}}}|[[{{{context|}}}]]|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Topic
{{!}}-
!name
{{!}} {{#if:{{{name|}}}|{{{name|}}}|}}
{{!}}-
!pluralName
{{!}} {{#if:{{{pluralName|}}}|{{{pluralName|}}}|}}
{{!}}-
!icon
{{!}} {{#if:{{{icon|}}}|[[{{{icon|}}}]]|}}
{{!}}-
!icon Url
{{!}} {{#if:{{{iconUrl|}}}|{{{iconUrl|}}}|}}
{{!}}-
!documentation
{{!}} {{#if:{{{documentation|}}}|{{{documentation|}}}|}}
{{!}}-
!wikiDocumentation
{{!}} {{#if:{{{wikiDocumentation|}}}|{{{wikiDocumentation|}}}|}}
{{!}}-
!default storemode
{{!}} {{#if:{{{defaultstoremode|}}}|{{{defaultstoremode|}}}|}}
{{!}}-
!list Limit
{{!}} {{#if:{{{listLimit|}}}|{{{listLimit|}}}|}}
{{!}}-
!use cargo
{{!}} {{#if:{{{cargo|}}}|{{{cargo|}}}|}}
{{!}}-
!context
{{!}} {{#if:{{{context|}}}|[[{{{context|}}}]]|}}
{{!}}-
{{!}}}
}}
}}
[[Category:Topic]]</includeonly>
4582cb57be924b838fba8dc4e16286403645b8a1
Main Page
0
1
193
66
2015-11-06T06:59:06Z
Wf
1
/* Make the ProfWiki cake */
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== What is a ProfiWiki ?===
* Structured and unstructured content
* Easy search
* Quick data entry and linking
* Team collaboration
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|100px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|100px]]
==== Make the ProfiWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
3d0f2c77c5ffe0379049d29ae01419976299a0ee
Docker goodies
0
16
194
65
2015-11-16T07:15:50Z
Wf
1
wikitext
text/x-wiki
=== Copy a file from a container to the host system ===
* http://stackoverflow.com/a/22050116/1497139
<source lang='bash'>
docker cp <containerId>:/file/path/within/container /host/path/target
</source>
=== Attach to a running container ===
* http://askubuntu.com/questions/505506/how-to-get-bash-or-ssh-into-a-running-container-in-background-mode
* http://askubuntu.com/a/507009/129227
<source lang='bash'>
docker exec -it $containername /bin/bash
</source>
=== Remove untagged docker images ===
http://stackoverflow.com/a/28377696/1497139
<source lang='bash'>
docker rmi -f $(docker images -f "dangling=true" -q)
</source>
=== get logs of a container ===
<source lang='bash'>
docker logs $containername
</source>
=== remove old unused docker containers ===
* http://stackoverflow.com/a/17237701/1497139
<source lang='bash'>
docker ps -a | grep 'weeks ago' | awk '{print $1}' | xargs --no-run-if-empty docker rm
</source>
=== Support for build env variables ===
Upcoming feature in 1.9?
* https://github.com/docker/docker/issues/6822
28512e25ec2c48df603ab1418c3d50f793c687e9
File:BITPlanLogo2012.svg
6
2
196
2
2015-11-21T18:10:49Z
Wf
1
Wf uploaded a new version of [[File:BITPlanLogo2012.svg]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
SiDIFTemplates
0
31
198
69
2015-12-28T13:35:55Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:35:53Z
wikitext
text/x-wiki
__TOC__
== Overview ==
This page contains {{sidif}} templates.
These templates can be used as a template for a {{Link|target=Template:Wikitask}}.
For convenience there is a template {{Link|target=Template:TopicWikitasks}} that creates a set of wikitasks for some of the templates below.
== Templates ==
=== category ===
<source lang='java' id='category' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// macro to create pageschema from simela triples
@def pageschema(Topic topic) {
@escape("xml") {
<PageSchema>
<semanticforms_Form name="@topic.name">
<standardInputs freeTextLabel="Free text"/>
</semanticforms_Form>
<Template name="@topic.name" format="standard">
@for (Property property:topic.propertiesByIndex()) {
<Field name="@property.name">
<semanticforms_FormInput>
<InputType>text</InputType>
</semanticforms_FormInput>
<semanticmediawiki_Property name="@(topic.name) @(property.name)">
<Type>Text</Type>
</semanticmediawiki_Property>
</Field>
}
</Template>
</PageSchema>
}
}
@// generate the category for the given topic
@def category(Topic topic) {
__NOTOC__
@// show the wikiDocumentation for this category
{{#ask: [[Topic name::@(topic.name)]] | ?Topic wikiDocumentation= | mainlabel=-}}
@(topic.pluralName) may be added and edited with the form [[has default form::@(topic.name)]]
* [[List of @(topic.pluralName)]]
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
@topic.name @(i18n("description"))
<div class="mw-collapsible-content">
@uml("uml",topic)
* [[Help:@topic.name]]
* [[Concept:@topic.name]]
* [[:Template:@topic.name]]
* [[:Form:@topic.name]]
=== Properties ===
@for (Property property:topic.propertiesByIndex()) {
* [[Property:@(topic.name) @(property.name)]]
}
</div>
</div>
}
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@category(contextSetting.getMaintopic())
</source>
=== listof ===
<source lang='java' id='listof' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// generate the list of page for the given topic
@def listof(Topic topic) {
__NOCACHE__
@topicheader(topic)
== @topic.pluralName ==
{{#forminput:form=@topic.name|button text=add @topic.name}}
@("{{")#ask: [[Concept:@topic.name]]
@for (Property property:topic.propertiesByIndex()) {
| ?@topic.name @(property.name) = @property.name
}
@("}}")
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
=== SiDIF ===
<div class="mw-collapsible-content">
@("{{")#ask: [[Concept:@topic.name]]
| ?#=pageid
@for (Property property:topic.propertiesByIndex()) {
| ?@topic.name @property.name = @property.name
}
| mainlabel=-
| format=template
| named args=yes
| template=@topic.name
| userparam=sidif
| limit=@topic.listLimit
@("}}")
</div>
</div>
[[:Category:@topic.name]]
}
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@listof(contextSetting.getMaintopic())
</source>
=== concept ===
<source lang='java' id='concept' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// generate the given topic as a concept
@def topic(Topic topic) {
__NOCACHE__
@("{{")Topic
|name=@topic.name
|pluralName=@if (topic.pluralName) {@(topic.pluralName)} else { @(topic.name)s }
|icon=@topic.icon
|iconUrl=@topic.iconUrl
|documentation=@topic.documentation
|wikiDocumentation=@topic.wikiDocumentation
|defaultstoremode=@topic.defaultstoremode
|listLimit=@topic.listLimit
|cargo=@topic.cargo
|context=@topic.context
|storemode=property
@("}}")
@("{{")Topic
|viewmode=masterdetail
|storemode=none
@("}}")
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
@topic.wikiDocumentation
@uml("uml",topic)
@("{{")#concept:
@if (topic.conceptProperty) {
[[@(topic.name) @(topic.conceptProperty.name)::+]]
} else {
[[Category:@topic.name]]
}
|@(topic.pluralName)
@seealso(topic)
@("}}")
[[Category:@topic.name]]
}
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@topic(contextSetting.getMaintopic())
</source>
=== propertiesdefs ===
<source lang='java' id='propertiesdefs' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// properties for a specific Topic
@def property(Topic topic, Property property) {
@{
String topicWithConcept=topic.pageid;
if (topicWithConcept.startsWith("Konzept:")) {
topicWithConcept=topicWithConcept.replace("Konzept:","Concept:");
}
if (!topicWithConcept.startsWith("Concept:")) {
topicWithConcept="Concept:"+topicWithConcept;
}
}
@("{{")Property
|name=@property.name
|label=@property.label
|documentation=@property.documentation
|type=Special:Types/@property.type
|index=@property.index
|sortPos=@property.sortPos
|primaryKey=@property.primaryKey
|mandatory=@property.mandatory
|namespace=@property.namespace
|size=@property.size
|uploadable=@property.uploadable
|defaultValue=@property.defaultValue
|inputType=@property.inputType
|allowedValues=@property.allowedValues
|values_from=@property.values_from
|showInGrid=@property.showInGrid
|isLink=@property.isLink
|topic=@(topicWithConcept)
|storemode=property
@("}}")
[[Has type::@property.type]]
This is a Property with type @("{{#show: {{FULLPAGENAMEE}} | ?Property type#- }}")
}
@// properties for the given topic
@def properties(Topic topic) {
== properties of @(topic.name) ==
@for (Property property:topic.getProperties()) {
=== [[Property:@(topic.name) @(property.name)]] ===
<pre>
@(property(topic,property))
</pre>
}
}
</source>
=== properties ===
<source lang='java' id='properties' cache='true'>
@include(wiki.SiDIFTemplates.propertiesdefs)
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@properties(contextSetting.getMaintopic())
</source>
=== instances ===
<source lang='java' id='instances' cache='true'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@// here some java code is declared and executed
@// the resulting variables can be used as template variables later
@{
TripleQuery query=tripleStore.query();
TripleQuery topics=query.query(null,"isA","Topic");
String maintopic=wikiTask.getParams();
}
@def wikison(TripleQuery query,String topicName, String name) {
@("{{")@topicName
@{ TripleQuery properties=query.query(name,null,null) }
|name=@name
@for (Triple property:properties.getTriples()) {
|@property.getPredicate()=@property.getObject()
}
|storeMode=subobject
@("}}")
}
@def wikison1toN(TripleQuery query,String topicName,String link,String linkTopicName) {
@{TripleQuery instances=query.query(null,"isA",topicName) }
@for (Triple instance:instances.getTriples()) {
@wikison(query,topicName,instance.getSubject().toString())
@{TripleQuery linstances=query.query(null,link,instance.getSubject().toString()) }
@for (Triple linstance:linstances.getTriples()) {
@wikison(query,linkTopicName,linstance.getSubject().toString())
}
}
}
@wikison1toN(query,maintopic,"answer","ZAnswer")
[[Category:@maintopic]]
</source>
=== form ===
<source lang='java' id='form' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// generate the form for the given topic
@def form(Topic topic) {
<noinclude>
This is the @("{{smartMediaWiki}}")-Form for "@topic.name".
Create a new @topic.name by entering a new pagename for a @topic.name
into the field below.
If you enter an existing @topic.name pagename - you will edit the @topic.name
with that pagename.
@{
String multiple="";
if ("subobject".equals(topic.defaultstoremode)) {
multiple="|multiple";
}
}
@("{{")#forminput:form=@topic.name|values from concept=@(topic.name)@("}}")
</noinclude><includeonly>
<div id="wikiPreview" style="display: none; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #AAAAAA;"></div>
@formtemplate(topic,multiple)
@("'''Freitext:'''")
@("{{{standard input|free text|rows=10}}}")
@("{{{standard input|summary}}}")
@("{{{standard input|minor edit}}} {{{standard input|watch}}}")
@("{{{standard input|save}}} {{{standard input|preview}}} {{{standard input|changes}}} {{{standard input|cancel}}}")
</includeonly>
}@// avoid newline
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@form(contextSetting.getMaintopic())
</source>
=== template ===
<source lang='java' id='template' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// show the given property Label
@def String propertyLabel(Property property) {
if ((property.label!=null) && (!"".equals(property.label.trim()))) {return property.label;} else {return property.name;}
}
@// show the given Property
@def showProperty(Property property) {
@{
String linkPre="";
String linkPost="";
String namespace="";
if ((property.type!=null) && (property.type.endsWith("Page"))) { linkPre="[[";linkPost="]]";}
// do not do namespace handling at this time
// use map namespace from mediawik-japi!
// if (property.namespace!=null) { namespace=property.namespace+":";}
}@{{#if:{{{@(property.name)|}}}|@(linkPre)@(namespace)@("{{{")@(property.name)@("|}}}")@(linkPost)|}}
}
@// set the given Property
@def setProperty(Property property){
@(property.name)=@("{{{")@(property.name)|@("}}}")
}
@// sidif - newline relevant
@def sidif(Topic topic) {
@("{{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}}") isA @(topic.name)<br>@("|}}")@for (Property property:topic.propertiesByIndex()){@// avoid newline
@("{{#if:{{{")?@(property.name)@("|}}}|")"@("{{{")?@(property.name)@("}}}")" is @property.name of it <br>|@("}}")}
}
@// includeonly part of wiki template
@def includeonly(Topic topic, boolean withComment) {
@("{{#switch:"){{{userparam|}}}|sidif=@sidif(topic)
|#default=@("{{#switch:"){{{storemode|}}}
|none=
@if ("subobject".equals(topic.defaultstoremode)) {
|subobject=@("{{#subobject:-")
|isA=@(topic.name)
@for (Property property:topic.propertiesByIndex()) {
|@(topic.name) @setProperty(property)
}
@("}}")@//#subobject
}
|@("{{#set:")
|isA=@(topic.name)
@for (Property property:topic.propertiesByIndex()) {
|@topic.name @setProperty(property)
}
@("}}")@//#set
@("}}")@//#switch
@("{{#switch:") {{{viewmode|}}}
|masterdetail=
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@if (topicLink.targetTopic) {
=== @(topicLink.targetRole) ===
@("{{")#ask:[[Concept:@(topicLink.targetTopic.name)]][[@(topicLink.targetTopic.name) @(topicLink.sourceRole)::@("{{FULLPAGENAME}}")]]
@for (Property property:topicLink.targetTopic.propertiesByIndex()) {
| ?@(topicLink.targetTopic.name) @property.name = @property.name
}
@("}}")
}
}
|tableheader=@("{{{!}}") class='wikitable'
@{String delim="!";}
@for (Property property:topic.propertiesByIndex()) {@(delim)@(property.name)@{delim="!!";}}
@("\n{{!}}-")
|tablerow=
@{delim="{{!}}"}
@for (Property property:topic.propertiesByIndex()) {@(delim){{{@(property.name)|}}}@{delim="{{!}}{{!}}"}}
@("\n{{!}}-")
|tablefooter=@("{{!}}}")
|labelfield=
@for (Property property:topic.propertiesByIndex()) {@(property.name)=@(showProperty(property))<br>}
|#default=@("{{{!}}") class='wikitable'
! colspan='2' @("{{!}}")@(topic.name)
@("{{!}}-")
@("{{#switch:"){{{storemode|}}}|property=
! colspan='2' style='text-align:left' {{!}} {{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/@(topic.name)/{{FULLPAGENAME}}|title=edit}}
@("{{!}}-")
@("}}")
@for (Property property:topic.propertiesByIndex()) {@("!")@(propertyLabel(property))
@("{{!}}") @(showProperty(property))
@("{{!}}")-
}
@("{{!}}}")
@("}}")@//#switch
@("}}")@//#switch
@// do not add subobjects to category - this would make selecting the default form difficult
@if ("property".equals(topic.defaultstoremode)) {
[[Category:@topic.name]]
}
}
@// wikiSonUsage
@def wikiSonUsage(Topic topic,String modeLine) {
<pre>@("{{")@topic.name
@for (Property property:topic.propertiesByIndex()) {
|@property.name=
}
|@modeLine
@("}}")
</pre>
}@// avoid newline
@// noinclude part of wiki template
@def noinclude(Topic topic) {
This is the template {{Link|target=Template:@topic.name|title=@topic.name}}.
It belongs to the concept/topic {{Link|target=:Concept:@topic.name}}<br>
You may find examples for the use of this template via the {{Link|target=List of @(topic.pluralName)}}.
=== Usage ===
@{ String[] storeModes={"subobject","property","none"};}
@for (String storeMode:storeModes) {
==== storemode @storeMode ====
@wikiSonUsage(topic,"storemode="+storeMode)
}
@{ String[] viewModes={"tableheader","tablerow","tablefooter","labelfield"};}
@for (String viewMode:viewModes) {
==== viewmode @viewMode ====
@wikiSonUsage(topic,"viewmode="+viewMode)
}
=== Source (pretty printed) ===
@("<source") lang='html4strict'>
@includeonly(topic,true)
@("<")@("/source>")
=== Source ===
Click on "Edit" to edit the noinclude-part Source of this Template.
[[Category:Template]]
}@// avoid newline
@def template(Topic maintopic) {<noinclude>
@copyright()
@noinclude(maintopic)
</noinclude><includeonly>@includeonly(maintopic,false)</includeonly>}@// avoid newline
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@template(contextSetting.getMaintopic())
</source>
=== javacodegen ===
<source lang='java' id='javacodegen' cache='true'>
@include(wiki.SiDIFTemplates.defs)
=== java code ===
@("<source lang='java' id='javacode'>")
@verbatim() {
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
}
@// user code section
@// smartGenerator compatible like:
@// // >>>{User defined import section}{::com::bitplan::ooa::OOAAssociation}{S37C96C0C016C}
@def printUserCode(String codetype,String key,String modelID) {
// >>>@("{")@(codetype)@("}")@("{")@(key)@("}")@("{")@(modelID)@("}")
// <<<@("{")@(codetype)@("}")@("{")@(key)@("}")@("{")@(modelID)@("}")
}
@// first character to Upper
@def String firstToUpper(String string) {
StringBuffer sb = new StringBuffer(string);
sb.replace(0, 1, string.substring(0, 1).toUpperCase());
return sb.toString();
}
@// generate javacode for the given topic
@def javacode(Context context) {
@("@def static {")
/**
* Base class
*/
static abstract class TopicBase {
// each Topic has a pageid - for non subobject thats the pagename
public String pageid;
/**
* get a WikiSon version of the given name value
*
* @@param name
* @@param value
* @@return - the string representation
*/
public String toWikiSon(String name, String value) {
String result = "<!-- " + name + " is null-->\n";
if (value != null)
result = "|" + name + "=" + value + "\n";
return result;
}
/**
* get the propertySidif of the given property
*
* @@param name
* @@param value
* @@return
*/
public static String propertySiDIF(String name, String value, String type) {
// default is an empty string - no property line for emtpy values
String result = "";
// if the value is not empty
if ((value != null) && (!("".equals(value.trim())))) {
// do we need to quote the result?
String quote = "";
// this depends on the Type
if ("Text".equals(type)) {
quote = "\"";
}
// create a SIDIF Property line like
// "John" is lastname of it
result += quote + value + quote + " is " + name + " of it\n";
}
// return the SiDIF property line
return result;
}
/**
* get me as a String
*
* @@param name
* @@param value
* @@return
*/
public static String propertySiDIF(String name, String value) {
String result = propertySiDIF(name, value, "Text");
return result;
}
/**
* check if the given boolean String value is true
*
* @@param value
* @@return true if the value is not null and has true/TRUE as it's string
* content
*/
public boolean isTrue(String value) {
boolean result = false;
if (value != null && value.toLowerCase().equals("true")) {
result = true;
}
return result;
}
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
@for(Topic topic:context.getTopics()) {
/**
* @topic.name
* @topic.documentation
*/
public static class @topic.name extends TopicBase @("{")
@for(Property property:topic.getProperties()) {
public String @property.name;
}
@for(Property property:topic.getProperties()) {
public String get@(firstToUpper(property.name))() { return @property.name; }
public void set@(firstToUpper(property.name))(String p@(firstToUpper(property.name))) { @property.name=p@(firstToUpper(property.name)); }
}
/**
* convert this @topic.name to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* convert this @topic.name to a WikiSon string
*/
public String toWikiSon() {
String wikison= "{{@topic.name\n";
@for(Property property:topic.getProperties()) {
wikison+=toWikiSon("@property.name",@property.name);
}
wikison+="}}\n";
return wikison;
}
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for @topic.name
*/
public @(topic.name)() {}
/**
* construct a @topic.name from the given Triple
* @("@")param query - the TripleQuery to get the triples from
* @("@")param p@(topic.name)Triple - the triple to construct me from
*/
public @(topic.name)(TripleQuery query,Triple p@(topic.name)Triple) @("{")
this(query,p@(topic.name)Triple.getSubject().toString());
@("} // constructor")
/**
* construct a @topic.name from the given pageId
* @("@")param query - the TripleQuery to get the triples from
* @("@")param pageid - pageid
*/
public @(topic.name)(TripleQuery query,String pageid) @("{")
this.pageid=pageid;
@for(Property property:topic.getProperties()) {
Triple @(property.name)Triple=query.selectSingle(pageid,"@property.name",null);
if (@(property.name)Triple==null)
@(property.name)Triple=query.selectSingle(pageid,"Property:@(topic.name)_@property.name",null);
if (@(property.name)Triple!=null)
@(property.name)=@(property.name)Triple.getObject().toString();
}
init(query);
@("}") // constructor for @topic.name
@printUserCode("user defined topic code",topic.name,topic.name)
@("}") // class @topic.name
/**
* Manager for @topic.name
*/
public static class @(topic.name)Manager extends TopicBase @("{")
public String topicName="@(topic.name)";
public transient List<@topic.name> m@(topic.name)s=new ArrayList<@(topic.name)>();
public transient Map<String,@topic.name> m@(topic.name)Map=new LinkedHashMap<String,@(topic.name)>();
/**
* get my @(topic.pluralName)
*/
public List<@topic.name> get@(topic.pluralName)() {
List<@topic.name> result=this.m@(topic.name)s;
return result;
}
/**
* add a new @(topic.name)
*/
public @(topic.name) add(@(topic.name) p@(topic.name)) {
m@(topic.name)s.add(p@(topic.name));
m@(topic.name)Map.put(p@(topic.name).getPageid(),p@(topic.name));
return p@(topic.name);
}
/**
* add a new @(topic.name) from the given triple
*/
public @(topic.name) add(TripleQuery query,Triple p@(topic.name)Triple) {
@topic.name l@topic.name=new @(topic.name)(query,p@(topic.name)Triple);
add(l@(topic.name));
return l@(topic.name);
}
// reinitialize my m@(topic.name) map
public void reinit() {
m@(topic.name)Map.clear();
for (@(topic.name) l@(topic.name):m@(topic.name)s) {
m@(topic.name)Map.put(l@(topic.name).getPageid(),l@(topic.name));
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static @(topic.name)Manager fromJson(String json) {
@(topic.name)Manager result=JSON.parseObject(json, @(topic.name)Manager.class);
result.reinit();
return result;
}
// default constructor for @(topic.name) Manager
public @(topic.name)Manager() {}
// add @(topic.pluralName) from the given query
public void add@(topic.pluralName)(TripleQuery p@(topic.name)Query,TripleQuery query) {
if (p@(topic.name)Query!=null) {
for (Triple l@(topic.name)Triple:p@(topic.name)Query.getTriples()) {
add(query,l@(topic.name)Triple);
}
}
}
// construct me from the given triple Query query
public @(topic.name)Manager(TripleQuery query) @("{")
// first query the SiDIF bases triplestore
TripleQuery l@(topic.name)Query=query.query(null,"isA","@topic.name");
add@(topic.pluralName)(l@(topic.name)Query,query);
// then the SMW triplestore
l@(topic.name)Query=query.query(null,"Property:IsA","@topic.name");
add@(topic.pluralName)(l@(topic.name)Query,query);
init(query);
@("}") // constructor for @topic.name Manager
@printUserCode("user defined topicmanager code",topic.name,topic.name)
@("}") // class @topic.name Manager
}
@// end static
@("}")
}
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
Context context=ContextFactory.getInstance().getContext(contextSetting);
}
@javacode(context)
</source>
=== help ===
<source lang='java' id='help'>
@include(wiki.SiDIFTemplates.defs)
@def help(Topic topic) {
== Help for @(topic.name) ==
@topicheader(topic)
=== Documentation ===
@topic.wikiDocumentation
=== Example @(topic.pluralName) ===
{{#ask: [[Concept:@(topic.name)]]
}}
=== Properties ===
{{#ask: [[Concept:Property]][[Property topic::Concept:@(topic.name)]]
| ?Property documentation = documentation
| ?Property type = type
| ?Property name = name
| ?Property label = label
| ?Property allowedValues = allowedValues
| ?Property mandatory = mandatory
| ?Property uploadable = uploadable
|format=table
}}
@uml("uml",topic)
@seealso(topic)
[[Category:@topic.name]]
}
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@help(contextSetting.getMaintopic())
</source>
=== debug ===
<source lang='java' id='debug'>
@include(wiki.SiDIFTemplates.java)
@for (Topic topic:mTopicManager.mTopics) {
== @(topic.pageid) ==
=== Concept property ===
@if (topic.conceptProperty) {
* @topic.conceptProperty.pageid name=@topic.conceptProperty.name
}
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
=== source TopicLink @(topicLink.name) ===
* @topicLink.sourceMultiple @topicLink.source @(topicLink.sourceRole)
* @topicLink.targetMultiple @topicLink.target @(topicLink.targetRole)
}
@for (TopicLink topicLink:topic.targetTopicLinks.mTopicLinks) {
=== target TopicLink @(topicLink.name) ===
* @topicLink.sourceMultiple @topicLink.source @(topicLink.sourceRole)
* @topicLink.targetMultiple @topicLink.target @(topicLink.targetRole)
}
@for (Property property:topic.getProperties()) {
=== Property @(property.name) ===
<pre>
[[Has type::@property.type]]
@("{{")Property
|name=@property.name
|documentation=@property.documentation
|type=Special:Types/@property.type
|label=@property.label
|primaryKey=@property.primaryKey
|mandatory=@property.mandatory
|uploadable=@property.uploadable
|size=@property.size
|defaultValue=@property.defaultValue
|inputType=@property.inputType
|allowedValues=@property.allowedValues
|topic=Concept:@topic.pageid
@("}}")
[[has default form::Property]]
This is a Property with type @("{{#show: {{FULLPAGENAMEE}} | ?Property type#- }}")
</pre>
}
}
</source>
=== tripletable ===
<source lang='java' id='tripletable' cache='true'>
@include(wiki.SiDIFTemplates.java)
@// macro to show a table of triples
@def tripletable(String title,List<org.sidif.triple.Triple> triples) {
=== @title ===
{| class="wikitable sortable"
! subject !! predicate !! object
|-
@for (org.sidif.triple.Triple triple:triples) {
|@triple.getSubject() || @triple.getPredicate() || @triple.getObject()
|-
}
|}
}
@tripletable("all triples",query.getTriples())
@tripletable("topics",topics.getTriples())
</source>
=== defs ===
<source lang='java' id='defs' cache='true'>
@include(wiki.SiDIFTemplates.java)
@// macro to show BITPlan copyright
@def copyright() {<!--
-- Copyright (C) 2015 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->@// avoid newline
}
@// error handling - get a stack trace
@def String getStackTrace (Throwable t) {
StringWriter sw = new StringWriter();
t.printStackTrace(new PrintWriter(sw));
return sw.toString();
}
@// macro to to internationalize generator results
@def String i18n(String text) {
String targetLang=wikiTask.getWiki().getSiteInfo().getLang();
return text;
}
@// macro for the topic header of a topic
@def topicheader(Topic topic) {
{{#ask: [[Topic name::@(topic.name)]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
}
@// macro for the form template of a topic
@def formtemplate(Topic topic,String multiple) {
<!-- @(topic.name) -->
@("{{{")for template|@(topic.name)@(multiple)@("}}}")
@("{|") class="wikitable"
! colspan='2'| @topic.name
|-
@for (Property property:topic.propertiesByIndex()) {
! @property.label:
<!-- @property.type @property.name -->
@{
String allowedValues=""; if (property.allowedValues!=null) { allowedValues="|values="+property.allowedValues; }
String mandatory=""; if ("true".equals(property.mandatory)) { mandatory="|mandatory"; }
String uploadable=""; if ("true".equals(property.uploadable)) { uploadable="|uploadable"; }
String values_from=""; if (property.values_from!=null) { values_from="|values from "+property.values_from; }
String defaultValue=""; if (property.defaultValue!=null) { defaultValue="|default="+property.defaultValue; }
String size=""; if (property.size!=null) { size="|size="+property.size; }
String inputtype=""; if (property.inputType!=null) { inputtype="|input type="+property.inputType; }
if ("textarea".equals(property.inputType)) {
inputtype+="|editor=wikieditor";
}
}
| @("{{{")field|@(property.name)|property=@(topic.name) @(property.name)@(inputtype)@(size)@(mandatory)@(uploadable)@(values_from)@(allowedValues)@(defaultValue)@("}}}")
|-
}
@("|}")
@("{{{")field|storemode|default=@(topic.defaultstoremode)|hidden@("}}}")
@("{{{end template}}}")
<!-- @(topic.name) -->
}
@// macro to to show relevant links for a topic
@def seealso(Topic topic) {
see also
* [[List of @(topic.pluralName)]]
* [[Help:@topic.name]]
* [[Concept:@topic.name]]
* [[:Category:@topic.name]]
* [[:Template:@topic.name]]
* [[:Form:@topic.name]]
topic links:
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@if (topicLink.targetTopic) {
* [[:Category:@(topicLink.targetTopic.name)]]
}
}
}
@// macro to create skin params for BITPlan corporate identity
@def bitplanumlci(int fontSize) {
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
@{ String skinparams[] = {"note", "component", "package", "usecase","activity","classAttribute","interface","class","object"}; }
@for (String skinparam:skinparams) {
skinparam @skinparam {
BackGroundColor #FFFFFF
FontSize @fontSize
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
}
hide Circle
' end of skinparams '
}
@// macro to create Relation
@def plantUmlRelation(TopicLink topicLink) {
@{
String sourceMany="1";
String targetMany="1";
if ("true".equals(topicLink.sourceMultiple)) sourceMany="*";
if ("true".equals(topicLink.targetMultiple)) targetMany="*";
}
@(topicLink.source) "@(topicLink.sourceRole) (@(sourceMany))" -- "@(topicLink.targetRole)(@(targetMany))" @(topicLink.target)
}
@// macro to create uml from simela triples
@def uml(String title,Topic topic) {
=== @title ===
<uml>
title @topic.name
note as @(topic.name)DiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as @(topic.name)Note
@(topic.documentation)
end note
class @topic.name @("{")
@for (Property property:topic.propertiesByIndex()) {
@(property.type) @(property.name)
}
@("}")
@(topic.name)Note .. @(topic.name)
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@plantUmlRelation(topicLink)
}
@for (TopicLink topicLink:topic.targetTopicLinks.mTopicLinks) {
@plantUmlRelation(topicLink)
}
@bitplanumlci(12)
</uml>
}
</source>
=== dialogdefs ===
<source lang='java' id='dialogdefs' cache='true'>
@import java.net.URLEncoder
@// JQuery imports
@def jquery(String indent) {
@(indent)<!-- JQuery Code for resthtmlview -->
@(indent)<script src="/resthtmlview/js/jquery-1.10.2.min.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/jquery-ui-1.10.0.custom.js"></script>
@(indent)<script src="/resthtmlview/js/i18n/grid.locale-en.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/ui.multiselect.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/jquery.ui.message.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/jquery.jqGrid.min.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/redactor.min.js" type="text/javascript"></script>
@(indent)<!-- load jQuery and tablesorter scripts -->
@(indent)<script src="/resthtmlview/js/jquery.tablesorter.min.js"></script>
@(indent)<script src="/resthtmlview/js/jquery.tablesorter.widgets.js"></script>
@(indent)<script src="/resthtmlview/js/jquery.metadata.js"></script>
@(indent)<!-- JQuery Styles for resthtmlview -->
@(indent)<link href="/resthtmlview/css/form.css" type="text/css" media="screen" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/messages.css" type="text/css" media="screen" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/bitplanfadetogrey/jquery-ui-1.10.1.custom.css" type="text/css" media="screen" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/ui.jqgrid.css" type="text/css" media="screen" rel="stylesheet" />
@(indent)<link href="/resthtmlview/css/ui.multiselect.css" type="text/css" media="screen" rel="stylesheet" />
@(indent)<!-- Tablesorter: required -->
@(indent)<link href="/resthtmlview/css/theme.blue.css" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/searchFilter.css" type="text/css" media="screen" rel="stylesheet" />
@(indent)<link href="/resthtmlview/css/redactor.css" type="text/css" media="screen" rel="stylesheet" />
}
@// CSS Style definitions
@def style(String indent) {
@(indent)<style>
@(indent) body { height:100% }
@(indent) #container {
@(indent) background-color: #f0f0f0; /* lightblue background */
@(indent) width: 100%; /* Container has full width */
@(indent) margin: auto; /* center container */
@(indent) min-height: 100%; /* minimum height 100 % (for modern browsers) */
@(indent) height: auto !important; /* important Behel (for modern browsers */
@(indent) height: 100%; /* IE shall work as specified */
@(indent) overflow: hidden !important; /* firefox scrollbar */
@(indent) }
@(indent)</style>
}
@// dialog definition
@def dialog(String indent) {
@(indent)<script type="text/javascript">
@(indent) $(document).ready(function() {
@(indent) var wWidth = $(window).width();
@(indent) var wHeight = $(window).height();
@(indent) var dTopy = wHeight * 0.25; // top at 25% of window height
@(indent) var dTopx = wWidth * 0.25; // left at 25% of window width
@(indent) var dWidth = 'auto'; //this will make the dialog 98% of the window size
@(indent) var dHeight = 'auto';
@(indent) $( "#dialog" ).dialog({
@(indent) // position : [ dTopx, dTopy ],
@(indent) width : dWidth,
@(indent) height : dHeight,
@(indent) modal : true,
@(indent) // title: ""+wWidth+"x"+wHeight+" "+dTopx+":"+dTopy,
@(indent) my: "center",
@(indent) at: "center",
@(indent) of: window,
@(indent) show : {
@(indent) effect : "blind",
@(indent) duration : 500
@(indent) },
@(indent) hide : {
@(indent) effect : "fade",
@(indent) duration : 500
@(indent) }
@(indent) });
@(indent) // tabs
@(indent) $( "#tabs" ).tabs();
@(indent) // tablesorter
@(indent) $.extend( $.tablesorter.defaults, {
@(indent) theme: 'blue',
@(indent) widthFixed: false
@(indent) });
@(indent) $(".sortable").tablesorter();
@(indent) });
@(indent)</script>
}
@// display the given stockicon
@def String stockicon(String name,int size,String alt,String title) {
String iconhref="/stockicons/"+size+"x"+size+"/shadow/"+name+".png";
String img="<img src='"+iconhref+"' alt='"+alt+"' title='"+title+"' width='"+size+"px' height='"+size+"px' >";
return img;
}
@// url encode the given txt
@def String urlEncode(String txt) {
String result=URLEncoder.encode(txt, "UTF-8");
return result;
}
@def selectall() {
<script>
/**
* http://stackoverflow.com/questions/432493/how-do-you-access-the-matched-groups-in-a-javascript-regular-
* expression
* examples:
*
* var matches = getRegexMatches(/(dog)/, "dog boat, cat car dog");
* console.log(matches);
*
* var matches = getRegexMatches(/(dog|cat) (boat|car)/, "dog boat, cat car");
* console.log(matches);
*/
function getRegexMatches(regex, string) {
if(!(regex instanceof RegExp)) {
return "ERROR";
}
else {
if (!regex.global) {
// If global flag not set, create new one.
var flags = "g";
if (regex.ignoreCase) flags += "i";
if (regex.multiline) flags += "m";
if (regex.sticky) flags += "y";
regex = RegExp(regex.source, flags);
}
}
var matches = [];
var match = regex.exec(string);
while (match) {
if (match.length > 2) {
var group_matches = [];
for (var i = 1; i < match.length; i++) {
group_matches.push(match[i]);
}
matches.push(group_matches);
}
else {
matches.push(match[1]);
}
match = regex.exec(string);
}
return matches;
}
/**
* get the select_row or select_col checkboxes dependening on the selectType row/col
*/
function getSelectCheckboxes(selectType) {
var regex=new RegExp("select_"+selectType+"_");
var result= $('input').filter(function() {return this.id.match(regex);});
return result;
}
/**
* matrix selection logic
* the goal is to provide select all / select row x / select col x
* checkboxes that will allow to
* select all: select all grid elements
* select row: select the grid elements in the given row
* select col: select the grid elements in the given col
*
* There is a naming convention for the ids and css style classes of the the selectors and elements:
* select all -> id: selectall
* select row -> id: select_row_row e.g. select_row_2
* select col -> id: select_col_col e.g. select_col_3
* grid element -> class checkBoxClass col_col row_row e.g. checkBoxClass row_2 col_3
*/
function checkSelectStates() {
// get the list of grid checkbox elements
// all checkboxes
var all = $('.checkBoxClass');
// all select row check boxes
var rows = getSelectCheckboxes('row');
// all select columnn check boxes
var cols = getSelectCheckboxes('col');
// console.log("rows: "+rows.length+", cols:"+cols.length+" total: "+all.length);
// get the total number of checkboxes in the grid
var allLen=all.length;
// get the number of checkboxes in the checked state
var filterLen=all.filter(':checked').length;
// console.log(allLen+"-"+filterLen);
// if all checkboxes are in the checked state
// set the state of the selectAll checkbox to checked to be able
// to deselect all at once, otherwise set it to unchecked to be able to select all at once
if (allLen == filterLen) {
$("#selectall").prop("checked", true);
} else {
$("#selectall").prop("checked", false);
}
// now check the completeness of the rows
for (row = 0; row < rows.length; row++) {
var rowall=$('.row_'+row);
var rowchecked=rowall.filter(':checked');
if (rowall.length == rowchecked.length) {
$("#select_row_"+row).prop("checked", true);
} else {
$("#select_row_"+row).prop("checked", false);
}
}
// now check the completeness of the cols
for (col = 0; col < cols.length; col++) {
var colall=$('.col_'+col);
var colchecked=colall.filter(':checked');
if (colall.length == colchecked.length) {
$("#select_col_"+col).prop("checked", true);
} else {
$("#select_col_"+col).prop("checked", false);
}
}
}
$(document).ready(function () {
// handle click event for Select all check box
$("#selectall").click(function () {
// set the checked property of all grid elements to be the same as
// the state of the SelectAll check box
var state=$("#selectall").prop('checked');
$(".checkBoxClass").prop('checked', state);
getSelectCheckboxes('row').prop('checked', state);
getSelectCheckboxes('col').prop('checked', state);
});
// handle clicks within the grid
$(".checkBoxClass").on( "click", function() {
checkSelectStates();
});
$('.checkboxSelect').on( "click", function() {
var matchRowColArr=getRegexMatches(/select_(row|col)_([0-9]+)/,this.id);
var matchRowCol=matchRowColArr[0];
// console.log(matchRowCol);
if (matchRowCol.length==2) {
var selectType=matchRowCol[0]; // e.g. row
var selectIndex=matchRowCol[1]; // e.g. 2
// console.log(this.id+" clicked to select "+selectType+" "+selectIndex);
// e.g. .row_2
$("."+selectType+"_"+selectIndex)
.prop('checked', $("#select_"+selectType+"_"+selectIndex).prop('checked'));
checkSelectStates();
}
});
});
</script>
}
</source>
=== java ===
The debugging version of the SiDIF Templates
<source lang='java' id='java' cache='true'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.TripleStore
@import org.sidif.triple.Triple
@import org.sidif.wiki.SMW_Triples
@import com.alibaba.fastjson.JSON
@// import instead of src
@import com.bitplan.topic.TopicStatic.YT
@import com.bitplan.topic.TopicStatic.Context
@import com.bitplan.topic.TopicStatic.Topic
@import com.bitplan.topic.TopicStatic.Property
@import com.bitplan.topic.TopicStatic.SMW_Type
@import com.bitplan.topic.TopicStatic.TopicLink
@import com.bitplan.topic.TopicStatic.ContextManager
@import com.bitplan.topic.TopicStatic.TopicManager
@import com.bitplan.topic.TopicStatic.PropertyManager
@import com.bitplan.topic.TopicStatic.SMW_TypeManager
@import com.bitplan.topic.TopicStatic.TopicLinkManager
@import com.bitplan.topic.ContextFactory
@import com.bitplan.topic.ContextSetting
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
</source>
=== javasrc ===
<source lang='java' id='javasrc' cache='true'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.TripleStore
@import org.sidif.triple.Triple
@import org.sidif.wiki.SMW_Triples
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
com.bitplan.topic.TopicManager topicManager
}
@def static {
/**
* Base class
*/
static abstract class TopicBase {
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
/**
* technical part of Y-Principle
*
* @author wf
*
*/
static class YT {
// Y-Principle technical parts
public static YT yts[] = {
new YT("Category", "Category", "category",
"/images/d/d6/Category_Icon.png"),
new YT("Concept", "Concept", "concept", "/images/2/25/Concept_Icon.png"),
new YT("Form", "Form", "form", "/images/e/e5/Form_icon.jpg"),
new YT("Help", "Help", "help", "/images/7/7a/Help_Icon.png"),
new YT("Listof", "List of", "listof", "/images/7/7f/List_Icon.png"),
new YT("Template", "Template", "template",
"/images/6/61/Icon_template.png"),
new YT("Properties", "Properties", "properties",
"/images/6/6a/Element_into_input.png"),
new YT("Java", "Java", "javacodegen",
"/images/3/38/Java_icon.png") };
/**
* get the YT with the given name
*
* @param ytname
*/
public static YT getYT(String ytname) {
for (YT yt : yts) {
if (yt.name.equals(ytname)) {
return yt;
}
}
return null;
}
String name;
String label;
String iconUrl;
String template;
/**
* construct me with name label and icon url
*
* @param name
* @param label
* @param iconUrl
*/
public YT(String name, String label,String template, String iconUrl) {
super();
this.name = name;
this.label = label;
this.template=template;
this.iconUrl = iconUrl;
}
/**
* a part where name and label is different
*
* @param name
* @param label
*/
public YT(String name, String label) {
this(name,label,name.toLowerCase(),"Datei:"+name+".png");
}
/**
* a part where name and label is the same
*
* @param name
*/
public YT(String name) {
this(name, name);
}
/**
* get the page Title for the given topic name
*
* @param topicname
* @return
*/
public String getPageTitle(Topic topic) {
String result = this.name + ":" + topic.name;
if ("Listof".equals(name)) {
result = "List_of_" + topic.pluralName.replace(" ","_");
}
if ("Properties".equals(name)) {
result = "Concept:" + topic.name.replace(" ","_")+"/Properties";
}
return result;
}
}
/**
* Context A Context groups some topics like a Namespace/Package
*/
static class Context extends TopicBase {
String pageid;
String name;
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
/**
* convert this Context to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for Context
*/
public Context() {
}
/**
* construct a Context from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pContextTriple
* - the triple to construct me from
*/
public Context(TripleQuery query, Triple pContextTriple) {
this(query, pContextTriple.getSubject().toString());
} // constructor
/**
* construct a Context from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public Context(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query.selectSingle(pageid, "Property:Context_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
init(query);
} // constructor for Context
// >>>{user defined topic code}{Context}{Context}
/**
* get the propertySidif of the given property
* @param name
* @param value
* @return
*/
public String propertySiDIF(String name,String value, String type) {
String result="";
String quote="";
if ("Text".equals(type)) {
quote="\"";
}
if (value!=null) {
result+=quote+value+quote+" is "+name+" of it\n";
}
return result;
}
/**
* get me as a String
* @param name
* @param value
* @return
*/
public String propertySiDIF(String name,String value) {
String result=propertySiDIF(name,value,"Text");
return result;
}
/**
* return me as a SiDIF string
* @return
*/
public String asSiDIF() {
String result="";
result+="#\n";
result+="# Context:"+getName()+"\n";
result+="#\n";
result+=getPageid()+" isA Context\n";
result+=this.propertySiDIF("name", name);
for (Topic topic:this.getTopics()) {
result+="#\n";
result+="#"+topic.getName()+"\n";
result+="#\n";
result+=topic.name+" isA Topic\n";
result+=this.propertySiDIF("name", topic.name);
result+=this.propertySiDIF("pluralName", topic.pluralName);
result+=this.propertySiDIF("documentation",topic.documentation);
result+=this.propertySiDIF("wikiDocumentation",topic.wikiDocumentation);
result+=this.propertySiDIF("icon",topic.icon);
result+=this.propertySiDIF("defaultstoremode", topic.defaultstoremode);
result+=this.propertySiDIF("context", this.getName());
for (Property property:topic.getProperties()) {
result+=topic.getName()+"_"+property.getName()+" addsTo it\n";
}
for (Property property:topic.getProperties()) {
result+=topic.getName()+"_"+property.getName()+" isA Property\n";
result+=propertySiDIF("name",property.name);
result+=propertySiDIF("allowedValues",property.allowedValues);
result+=propertySiDIF("defaultValue",property.defaultValue);
result+=propertySiDIF("documentation",property.documentation);
result+=propertySiDIF("inputType",property.inputType);
result+=propertySiDIF("label",property.label);
result+=propertySiDIF("mandatory", property.mandatory,"Boolean");
result+=propertySiDIF("namespace",property.namespace);
result+=propertySiDIF("primaryKey",property.primaryKey,"Boolean");
result+=propertySiDIF("pageid",property.pageid);
result+=propertySiDIF("size",property.size,"Number");
result+=propertySiDIF("topic",topic.getName());
}
}
return result;
}
// 1:n relation to topics
TopicManager topics = new TopicManager();
/**
* accessor for 1:n relation to topics
*
* @return
*/
public List<Topic> getTopics() {
return topics.mTopics;
}
/**
* recreate topics from a given list
* @param pTopics
*/
public void setTopics(List<Topic> pTopics) {
topics = new TopicManager();
topics.mTopics=pTopics;
for (Topic topic:pTopics) {
topics.mTopicMap.put(topic.getPageid(), topic);
}
}
// <<<{user defined topic code}{Context}{Context}
} // class Context
/**
* Manager for Context
*/
static class ContextManager extends TopicBase {
public String topicName = "Context";
public List<Context> mContexts = new ArrayList<Context>();
public Map<String, Context> mContextMap = new LinkedHashMap<String, Context>();
/**
* add a new Context
*/
public Context add(Context pContext) {
mContexts.add(pContext);
mContextMap.put(pContext.getPageid(), pContext);
return pContext;
}
/**
* add a new Context from the given triple
*/
public Context add(TripleQuery query, Triple pContextTriple) {
Context lContext = new Context(query, pContextTriple);
add(lContext);
return lContext;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public ContextManager() {
}
// construct me from the given triple Query query
public ContextManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lContextQuery = query.query(null, "isA", "Context");
for (Triple lContextTriple : lContextQuery.getTriples()) {
add(query, lContextTriple);
}
// then the SMW triplestore
lContextQuery = query.query(null, "Property:IsA", "Context");
for (Triple lContextTriple : lContextQuery.getTriples()) {
add(query, lContextTriple);
}
init(query);
} // constructor for Context Manager
// >>>{user defined topicmanager code}{Context}{Context}
public TopicManager mTopicManager;
public PropertyManager mPropertyManager;
/**
* run pass 2 to link topics to context
*
* @return
*/
public List<String> pass2() {
List<String> result = new ArrayList<String>();
for (Topic topic : mTopicManager.mTopics) {
if (topic.context != null) {
Context context = this.mContextMap.get(topic.context);
if (context != null) {
context.topics.mTopics.add(topic);
} else {
result.add("Context '" + topic.context + "' not found");
}
}
}
for (Property property : mPropertyManager.mPropertys) {
if (property.topic != null) {
Topic topic = mTopicManager.mTopicMap.get(property.topic);
if (topic != null) {
// FIXME use an add function that also adds to the map
topic.properties.mPropertys.add(property);
} else {
result.add("Topic '" + property.topic + "' not found");
}
}
}
return result;
}
/**
* construct me from a tripleStore
*
* @param tripleStore
*/
public ContextManager(TripleStore tripleStore) {
this(tripleStore.query());
mTopicManager = new TopicManager(tripleStore.query());
mPropertyManager = new PropertyManager(tripleStore.query());
mTopicManager.configureTopics();
pass2();
}
// <<<{user defined topicmanager code}{Context}{Context}
} // class Context Manager
/**
* Topic A Topic is a Concept/Class/Thing/Entity
*/
static class Topic extends TopicBase {
String pageid;
String name;
String pluralName;
String icon;
String wikiDocumentation;
String documentation;
String defaultstoremode;
String context;
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
public String getPluralName() {
return pluralName;
}
public void setPluralName(String pPluralName) {
pluralName = pPluralName;
}
public String getIcon() {
return icon;
}
public void setIcon(String pIcon) {
icon = pIcon;
}
public String getWikiDocumentation() {
return wikiDocumentation;
}
public void setWikiDocumentation(String pWikiDocumentation) {
wikiDocumentation = pWikiDocumentation;
}
public String getDocumentation() {
return documentation;
}
public void setDocumentation(String pDocumentation) {
documentation = pDocumentation;
}
public String getDefaultstoremode() {
return defaultstoremode;
}
public void setDefaultstoremode(String pDefaultstoremode) {
defaultstoremode = pDefaultstoremode;
}
public String getContext() {
return context;
}
public void setContext(String pContext) {
context = pContext;
}
/**
* convert this Topic to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for Topic
*/
public Topic() {
}
/**
* construct a Topic from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pTopicTriple
* - the triple to construct me from
*/
public Topic(TripleQuery query, Triple pTopicTriple) {
this(query, pTopicTriple.getSubject().toString());
} // constructor
/**
* construct a Topic from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public Topic(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query.selectSingle(pageid, "Property:Topic_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
Triple pluralNameTriple = query.selectSingle(pageid, "pluralName", null);
if (pluralNameTriple == null)
pluralNameTriple = query.selectSingle(pageid,
"Property:Topic_pluralName", null);
if (pluralNameTriple != null)
pluralName = pluralNameTriple.getObject().toString();
Triple iconTriple = query.selectSingle(pageid, "icon", null);
if (iconTriple == null)
iconTriple = query.selectSingle(pageid, "Property:Topic_icon", null);
if (iconTriple != null)
icon = iconTriple.getObject().toString();
Triple wikiDocumentationTriple = query.selectSingle(pageid,
"wikiDocumentation", null);
if (wikiDocumentationTriple == null)
wikiDocumentationTriple = query.selectSingle(pageid,
"Property:Topic_wikiDocumentation", null);
if (wikiDocumentationTriple != null)
wikiDocumentation = wikiDocumentationTriple.getObject().toString();
Triple documentationTriple = query.selectSingle(pageid, "documentation",
null);
if (documentationTriple == null)
documentationTriple = query.selectSingle(pageid,
"Property:Topic_documentation", null);
if (documentationTriple != null)
documentation = documentationTriple.getObject().toString();
Triple defaultstoremodeTriple = query.selectSingle(pageid,
"defaultstoremode", null);
if (defaultstoremodeTriple == null)
defaultstoremodeTriple = query.selectSingle(pageid,
"Property:Topic_defaultstoremode", null);
if (defaultstoremodeTriple != null)
defaultstoremode = defaultstoremodeTriple.getObject().toString();
Triple contextTriple = query.selectSingle(pageid, "context", null);
if (contextTriple == null)
contextTriple = query.selectSingle(pageid, "Property:Topic_context",
null);
if (contextTriple != null)
context = contextTriple.getObject().toString();
init(query);
} // constructor for Topic
// >>>{user defined topic code}{Topic}{Topic}
PropertyManager properties = new PropertyManager();
TopicLinkManager sourceTopicLinks = new TopicLinkManager();
TopicLinkManager targetTopicLinks = new TopicLinkManager();
Property conceptProperty; // the Property to be used when selecting a
// Concept
/**
* get the Properties
*
* @return
*/
public List<Property> getProperties() {
return properties.mPropertys;
}
/**
* initialize me with the given query
*
* @Override
*/
public void init(TripleQuery query) {
TripleQuery propertyQuery = query.query(null, "addsTo", pageid);
if (propertyQuery != null) {
for (Triple property : propertyQuery.getTriples()) {
properties.add(query, property);
}
}
addTopicLinks(query, sourceTopicLinks, "source");
addTopicLinks(query, targetTopicLinks, "target");
if (name == null) {
name = pageid;
}
if (pluralName == null) {
pluralName = name + "s";
}
// add Properties for targetTopicLinks
// this is the referenced to the "neighbour" Topic
for (TopicLink topicLink : targetTopicLinks.mTopicLinks) {
Property property = new Property();
property.pageid = topicLink.sourceRole;
property.name = property.pageid;
property.label = property.name;
property.type = "Page";
// make sure the form shows the neighbour concept as an option
String sourceName = topicLink.source;
// remove "Concept:" prefix !!! FIXME - this is language dependent
// and a horrible work around for the time being
sourceName = sourceName.replace("Concept:", "");
sourceName = sourceName.replace("Konzept:", "");
property.values_from = "concept=" + sourceName;
property.inputType = "dropdown";
properties.mPropertys.add(property);
}
}
/**
* add the topicLinks
*
* @param query
* - the TripleQuery to get the triples from
* @param tm
* - the TopicLinkManager to add the topic links to
* @param predicate
* - the predicate to be used for linking
*/
public void addTopicLinks(TripleQuery query, TopicLinkManager tm,
String predicate) {
TripleQuery linkQuery = query.query(null, predicate, pageid);
if (linkQuery != null) {
for (Triple linkTriple : linkQuery.getTriples()) {
String link = linkTriple.getSubject().toString();
TopicLink topiclink = new TopicLink(query, link);
tm.mTopicLinks.add(topiclink);
}
}
}
/**
* check my source TopicLinks and set the targetTopic by looking it up
*/
public void linkTargetTopics(TopicManager tm) {
for (TopicLink sourceTopicLink : sourceTopicLinks.mTopicLinks) {
String topicTarget = sourceTopicLink.target; // e.g. Concept:Property;
topicTarget = topicTarget.replace("Concept:", ""); // remove Concept
// part
topicTarget = topicTarget.replace("Koncept:", ""); // remove Concept
// part
Topic targetTopic = tm.byName(topicTarget);
if (targetTopic != null) {
sourceTopicLink.targetTopic = targetTopic;
}
}
}
/**
* set the concept Property for the given target Property
*/
public void setConceptProperty() {
for (Property property : properties.mPropertys) {
if ("true".equals(property.mandatory)
|| "true".equals(property.primaryKey)) {
conceptProperty = property;
break;
}
}
}
// <<<{user defined topic code}{Topic}{Topic}
} // class Topic
/**
* Manager for Topic
*/
static class TopicManager extends TopicBase {
public String topicName = "Topic";
public List<Topic> mTopics = new ArrayList<Topic>();
public Map<String, Topic> mTopicMap = new LinkedHashMap<String, Topic>();
/**
* add a new Topic
*/
public Topic add(Topic pTopic) {
mTopics.add(pTopic);
mTopicMap.put(pTopic.getPageid(), pTopic);
return pTopic;
}
/**
* add a new Topic from the given triple
*/
public Topic add(TripleQuery query, Triple pTopicTriple) {
Topic lTopic = new Topic(query, pTopicTriple);
add(lTopic);
return lTopic;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public TopicManager() {
}
// construct me from the given triple Query query
public TopicManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicQuery = query.query(null, "isA", "Topic");
for (Triple lTopicTriple : lTopicQuery.getTriples()) {
add(query, lTopicTriple);
}
// then the SMW triplestore
lTopicQuery = query.query(null, "Property:IsA", "Topic");
for (Triple lTopicTriple : lTopicQuery.getTriples()) {
add(query, lTopicTriple);
}
init(query);
} // constructor for Topic Manager
// >>>{user defined topicmanager code}{Topic}{Topic}
/**
* get a topic by the given name
*
* @param topicName
* - the name of the topic to get FIXME - speedup?
*/
public Topic byName(String topicName) {
Topic result = null;
for (Topic topic : mTopics) {
if (topicName.equals(topic.name)) {
result = topic;
}
}
return result;
} // byName
/**
* configure Topics: link TargetTopics set Concept Properties
*/
public void configureTopics() {
for (Topic topic : mTopics) {
topic.setConceptProperty();
topic.linkTargetTopics(this);
}
}
// <<<{user defined topicmanager code}{Topic}{Topic}
} // class Topic Manager
/**
* SMW_Type an SMW_Type is a data type which determines the possible values
* for that type e.g. a Boolean can hold true/fals values while a Number can
* hold 3.1459 or 20. A Page can hold the name of a Wiki page see
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
*/
static class SMW_Type extends TopicBase {
String pageid;
String documentation;
String type;
String typepage;
String helppage;
String javaType;
public String getDocumentation() {
return documentation;
}
public void setDocumentation(String pDocumentation) {
documentation = pDocumentation;
}
public String getType() {
return type;
}
public void setType(String pType) {
type = pType;
}
public String getTypepage() {
return typepage;
}
public void setTypepage(String pTypepage) {
typepage = pTypepage;
}
public String getHelppage() {
return helppage;
}
public void setHelppage(String pHelppage) {
helppage = pHelppage;
}
public String getJavaType() {
return javaType;
}
public void setJavaType(String pJavaType) {
javaType = pJavaType;
}
/**
* convert this SMW_Type to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for SMW_Type
*/
public SMW_Type() {
}
/**
* construct a SMW_Type from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pSMW_TypeTriple
* - the triple to construct me from
*/
public SMW_Type(TripleQuery query, Triple pSMW_TypeTriple) {
this(query, pSMW_TypeTriple.getSubject().toString());
} // constructor
/**
* construct a SMW_Type from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public SMW_Type(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple documentationTriple = query.selectSingle(pageid, "documentation",
null);
if (documentationTriple == null)
documentationTriple = query.selectSingle(pageid,
"Property:SMW_Type_documentation", null);
if (documentationTriple != null)
documentation = documentationTriple.getObject().toString();
Triple typeTriple = query.selectSingle(pageid, "type", null);
if (typeTriple == null)
typeTriple = query.selectSingle(pageid, "Property:SMW_Type_type", null);
if (typeTriple != null)
type = typeTriple.getObject().toString();
Triple typepageTriple = query.selectSingle(pageid, "typepage", null);
if (typepageTriple == null)
typepageTriple = query.selectSingle(pageid,
"Property:SMW_Type_typepage", null);
if (typepageTriple != null)
typepage = typepageTriple.getObject().toString();
Triple helppageTriple = query.selectSingle(pageid, "helppage", null);
if (helppageTriple == null)
helppageTriple = query.selectSingle(pageid,
"Property:SMW_Type_helppage", null);
if (helppageTriple != null)
helppage = helppageTriple.getObject().toString();
Triple javaTypeTriple = query.selectSingle(pageid, "javaType", null);
if (javaTypeTriple == null)
javaTypeTriple = query.selectSingle(pageid,
"Property:SMW_Type_javaType", null);
if (javaTypeTriple != null)
javaType = javaTypeTriple.getObject().toString();
init(query);
} // constructor for SMW_Type
// >>>{user defined topic code}{SMW_Type}{SMW_Type}
// <<<{user defined topic code}{SMW_Type}{SMW_Type}
} // class SMW_Type
/**
* Manager for SMW_Type
*/
static class SMW_TypeManager extends TopicBase {
public String topicName = "SMW_Type";
public List<SMW_Type> mSMW_Types = new ArrayList<SMW_Type>();
public Map<String, SMW_Type> mSMW_TypeMap = new LinkedHashMap<String, SMW_Type>();
/**
* add a new SMW_Type
*/
public SMW_Type add(SMW_Type pSMW_Type) {
mSMW_Types.add(pSMW_Type);
mSMW_TypeMap.put(pSMW_Type.getPageid(), pSMW_Type);
return pSMW_Type;
}
/**
* add a new SMW_Type from the given triple
*/
public SMW_Type add(TripleQuery query, Triple pSMW_TypeTriple) {
SMW_Type lSMW_Type = new SMW_Type(query, pSMW_TypeTriple);
add(lSMW_Type);
return lSMW_Type;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public SMW_TypeManager() {
}
// construct me from the given triple Query query
public SMW_TypeManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lSMW_TypeQuery = query.query(null, "isA", "SMW_Type");
for (Triple lSMW_TypeTriple : lSMW_TypeQuery.getTriples()) {
add(query, lSMW_TypeTriple);
}
// then the SMW triplestore
lSMW_TypeQuery = query.query(null, "Property:IsA", "SMW_Type");
for (Triple lSMW_TypeTriple : lSMW_TypeQuery.getTriples()) {
add(query, lSMW_TypeTriple);
}
init(query);
} // constructor for SMW_Type Manager
// >>>{user defined topicmanager code}{SMW_Type}{SMW_Type}
// <<<{user defined topicmanager code}{SMW_Type}{SMW_Type}
} // class SMW_Type Manager
/**
* Property a Property is a Feature/Attribute
*/
static class Property extends TopicBase {
String pageid;
String documentation;
String name;
String type;
String label;
String primaryKey;
String mandatory;
String uploadable;
String size;
String defaultValue;
String inputType;
String namespace;
String values_from;
String allowedValues;
String topic;
public String getDocumentation() {
return documentation;
}
public void setDocumentation(String pDocumentation) {
documentation = pDocumentation;
}
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
public String getType() {
return type;
}
public void setType(String pType) {
type = pType;
}
public String getLabel() {
return label;
}
public void setLabel(String pLabel) {
label = pLabel;
}
public String getPrimaryKey() {
return primaryKey;
}
public void setPrimaryKey(String pPrimaryKey) {
primaryKey = pPrimaryKey;
}
public String getMandatory() {
return mandatory;
}
public void setMandatory(String pMandatory) {
mandatory = pMandatory;
}
public String getUploadable() {
return uploadable;
}
public void setUploadable(String pUploadable) {
uploadable = pUploadable;
}
public String getSize() {
return size;
}
public void setSize(String pSize) {
size = pSize;
}
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String pDefaultValue) {
defaultValue = pDefaultValue;
}
public String getInputType() {
return inputType;
}
public void setInputType(String pInputType) {
inputType = pInputType;
}
public String getNamespace() {
return namespace;
}
public void setNamespace(String pNamespace) {
namespace = pNamespace;
}
public String getValues_from() {
return values_from;
}
public void setValues_from(String pValues_from) {
values_from = pValues_from;
}
public String getAllowedValues() {
return allowedValues;
}
public void setAllowedValues(String pAllowedValues) {
allowedValues = pAllowedValues;
}
public String getTopic() {
return topic;
}
public void setTopic(String pTopic) {
topic = pTopic;
}
/**
* convert this Property to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for Property
*/
public Property() {
}
/**
* construct a Property from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pPropertyTriple
* - the triple to construct me from
*/
public Property(TripleQuery query, Triple pPropertyTriple) {
this(query, pPropertyTriple.getSubject().toString());
} // constructor
/**
* construct a Property from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public Property(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple documentationTriple = query.selectSingle(pageid, "documentation",
null);
if (documentationTriple == null)
documentationTriple = query.selectSingle(pageid,
"Property:Property_documentation", null);
if (documentationTriple != null)
documentation = documentationTriple.getObject().toString();
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query.selectSingle(pageid, "Property:Property_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
Triple typeTriple = query.selectSingle(pageid, "type", null);
if (typeTriple == null)
typeTriple = query.selectSingle(pageid, "Property:Property_type", null);
if (typeTriple != null)
type = typeTriple.getObject().toString();
Triple labelTriple = query.selectSingle(pageid, "label", null);
if (labelTriple == null)
labelTriple = query.selectSingle(pageid, "Property:Property_label",
null);
if (labelTriple != null)
label = labelTriple.getObject().toString();
Triple primaryKeyTriple = query.selectSingle(pageid, "primaryKey", null);
if (primaryKeyTriple == null)
primaryKeyTriple = query.selectSingle(pageid,
"Property:Property_primaryKey", null);
if (primaryKeyTriple != null)
primaryKey = primaryKeyTriple.getObject().toString();
Triple mandatoryTriple = query.selectSingle(pageid, "mandatory", null);
if (mandatoryTriple == null)
mandatoryTriple = query.selectSingle(pageid,
"Property:Property_mandatory", null);
if (mandatoryTriple != null)
mandatory = mandatoryTriple.getObject().toString();
Triple uploadableTriple = query.selectSingle(pageid, "uploadable", null);
if (uploadableTriple == null)
uploadableTriple = query.selectSingle(pageid,
"Property:Property_uploadable", null);
if (uploadableTriple != null)
uploadable = uploadableTriple.getObject().toString();
Triple sizeTriple = query.selectSingle(pageid, "size", null);
if (sizeTriple == null)
sizeTriple = query.selectSingle(pageid, "Property:Property_size", null);
if (sizeTriple != null)
size = sizeTriple.getObject().toString();
Triple defaultValueTriple = query.selectSingle(pageid, "defaultValue",
null);
if (defaultValueTriple == null)
defaultValueTriple = query.selectSingle(pageid,
"Property:Property_defaultValue", null);
if (defaultValueTriple != null)
defaultValue = defaultValueTriple.getObject().toString();
Triple inputTypeTriple = query.selectSingle(pageid, "inputType", null);
if (inputTypeTriple == null)
inputTypeTriple = query.selectSingle(pageid,
"Property:Property_inputType", null);
if (inputTypeTriple != null)
inputType = inputTypeTriple.getObject().toString();
Triple namespaceTriple = query.selectSingle(pageid, "namespace", null);
if (namespaceTriple == null)
namespaceTriple = query.selectSingle(pageid,
"Property:Property_namespace", null);
if (namespaceTriple != null)
namespace = namespaceTriple.getObject().toString();
Triple values_fromTriple = query
.selectSingle(pageid, "values_from", null);
if (values_fromTriple == null)
values_fromTriple = query.selectSingle(pageid,
"Property:Property_values_from", null);
if (values_fromTriple != null)
values_from = values_fromTriple.getObject().toString();
Triple allowedValuesTriple = query.selectSingle(pageid, "allowedValues",
null);
if (allowedValuesTriple == null)
allowedValuesTriple = query.selectSingle(pageid,
"Property:Property_allowedValues", null);
if (allowedValuesTriple != null)
allowedValues = allowedValuesTriple.getObject().toString();
Triple topicTriple = query.selectSingle(pageid, "topic", null);
if (topicTriple == null)
topicTriple = query.selectSingle(pageid, "Property:Property_topic",
null);
if (topicTriple != null)
topic = topicTriple.getObject().toString();
init(query);
} // constructor for Property
// >>>{user defined topic code}{Property}{Property}
@Override
public void init(TripleQuery query) {
if (name == null) {
name = pageid;
}
if (label == null) {
label = name;
}
if (type == null) {
type = "Text";
}
}
// <<<{user defined topic code}{Property}{Property}
} // class Property
/**
* Manager for Property
*/
static class PropertyManager extends TopicBase {
public String topicName = "Property";
public List<Property> mPropertys = new ArrayList<Property>();
public Map<String, Property> mPropertyMap = new LinkedHashMap<String, Property>();
/**
* add a new Property
*/
public Property add(Property pProperty) {
mPropertys.add(pProperty);
mPropertyMap.put(pProperty.getPageid(), pProperty);
return pProperty;
}
/**
* add a new Property from the given triple
*/
public Property add(TripleQuery query, Triple pPropertyTriple) {
Property lProperty = new Property(query, pPropertyTriple);
add(lProperty);
return lProperty;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public PropertyManager() {
}
// construct me from the given triple Query query
public PropertyManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lPropertyQuery = query.query(null, "isA", "Property");
for (Triple lPropertyTriple : lPropertyQuery.getTriples()) {
add(query, lPropertyTriple);
}
// then the SMW triplestore
lPropertyQuery = query.query(null, "Property:IsA", "Property");
for (Triple lPropertyTriple : lPropertyQuery.getTriples()) {
add(query, lPropertyTriple);
}
init(query);
} // constructor for Property Manager
// >>>{user defined topicmanager code}{Property}{Property}
// <<<{user defined topicmanager code}{Property}{Property}
} // class Property Manager
/**
* TopicLink
*
*/
static class TopicLink extends TopicBase {
String pageid;
String name;
String sourceRole;
String sourceMultiple;
String source;
String sourceDocumentation;
String targetRole;
String targetMultiple;
String target;
String masterDetail;
String targetDocumentation;
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
public String getSourceRole() {
return sourceRole;
}
public void setSourceRole(String pSourceRole) {
sourceRole = pSourceRole;
}
public String getSourceMultiple() {
return sourceMultiple;
}
public void setSourceMultiple(String pSourceMultiple) {
sourceMultiple = pSourceMultiple;
}
public String getSource() {
return source;
}
public void setSource(String pSource) {
source = pSource;
}
public String getSourceDocumentation() {
return sourceDocumentation;
}
public void setSourceDocumentation(String pSourceDocumentation) {
sourceDocumentation = pSourceDocumentation;
}
public String getTargetRole() {
return targetRole;
}
public void setTargetRole(String pTargetRole) {
targetRole = pTargetRole;
}
public String getTargetMultiple() {
return targetMultiple;
}
public void setTargetMultiple(String pTargetMultiple) {
targetMultiple = pTargetMultiple;
}
public String getTarget() {
return target;
}
public void setTarget(String pTarget) {
target = pTarget;
}
public String getMasterDetail() {
return masterDetail;
}
public void setMasterDetail(String pMasterDetail) {
masterDetail = pMasterDetail;
}
public String getTargetDocumentation() {
return targetDocumentation;
}
public void setTargetDocumentation(String pTargetDocumentation) {
targetDocumentation = pTargetDocumentation;
}
/**
* convert this TopicLink to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for TopicLink
*/
public TopicLink() {
}
/**
* construct a TopicLink from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pTopicLinkTriple
* - the triple to construct me from
*/
public TopicLink(TripleQuery query, Triple pTopicLinkTriple) {
this(query, pTopicLinkTriple.getSubject().toString());
} // constructor
/**
* construct a TopicLink from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public TopicLink(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query
.selectSingle(pageid, "Property:TopicLink_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
Triple sourceRoleTriple = query.selectSingle(pageid, "sourceRole", null);
if (sourceRoleTriple == null)
sourceRoleTriple = query.selectSingle(pageid,
"Property:TopicLink_sourceRole", null);
if (sourceRoleTriple != null)
sourceRole = sourceRoleTriple.getObject().toString();
Triple sourceMultipleTriple = query.selectSingle(pageid,
"sourceMultiple", null);
if (sourceMultipleTriple == null)
sourceMultipleTriple = query.selectSingle(pageid,
"Property:TopicLink_sourceMultiple", null);
if (sourceMultipleTriple != null)
sourceMultiple = sourceMultipleTriple.getObject().toString();
Triple sourceTriple = query.selectSingle(pageid, "source", null);
if (sourceTriple == null)
sourceTriple = query.selectSingle(pageid, "Property:TopicLink_source",
null);
if (sourceTriple != null)
source = sourceTriple.getObject().toString();
Triple sourceDocumentationTriple = query.selectSingle(pageid,
"sourceDocumentation", null);
if (sourceDocumentationTriple == null)
sourceDocumentationTriple = query.selectSingle(pageid,
"Property:TopicLink_sourceDocumentation", null);
if (sourceDocumentationTriple != null)
sourceDocumentation = sourceDocumentationTriple.getObject().toString();
Triple targetRoleTriple = query.selectSingle(pageid, "targetRole", null);
if (targetRoleTriple == null)
targetRoleTriple = query.selectSingle(pageid,
"Property:TopicLink_targetRole", null);
if (targetRoleTriple != null)
targetRole = targetRoleTriple.getObject().toString();
Triple targetMultipleTriple = query.selectSingle(pageid,
"targetMultiple", null);
if (targetMultipleTriple == null)
targetMultipleTriple = query.selectSingle(pageid,
"Property:TopicLink_targetMultiple", null);
if (targetMultipleTriple != null)
targetMultiple = targetMultipleTriple.getObject().toString();
Triple targetTriple = query.selectSingle(pageid, "target", null);
if (targetTriple == null)
targetTriple = query.selectSingle(pageid, "Property:TopicLink_target",
null);
if (targetTriple != null)
target = targetTriple.getObject().toString();
Triple masterDetailTriple = query.selectSingle(pageid, "masterDetail",
null);
if (masterDetailTriple == null)
masterDetailTriple = query.selectSingle(pageid,
"Property:TopicLink_masterDetail", null);
if (masterDetailTriple != null)
masterDetail = masterDetailTriple.getObject().toString();
Triple targetDocumentationTriple = query.selectSingle(pageid,
"targetDocumentation", null);
if (targetDocumentationTriple == null)
targetDocumentationTriple = query.selectSingle(pageid,
"Property:TopicLink_targetDocumentation", null);
if (targetDocumentationTriple != null)
targetDocumentation = targetDocumentationTriple.getObject().toString();
init(query);
} // constructor for TopicLink
// >>>{user defined topic code}{TopicLink}{TopicLink}
Topic sourceTopic = null;
Topic targetTopic = null;
// <<<{user defined topic code}{TopicLink}{TopicLink}
} // class TopicLink
/**
* Manager for TopicLink
*/
static class TopicLinkManager extends TopicBase {
public String topicName = "TopicLink";
public List<TopicLink> mTopicLinks = new ArrayList<TopicLink>();
public Map<String, TopicLink> mTopicLinkMap = new LinkedHashMap<String, TopicLink>();
/**
* add a new TopicLink
*/
public TopicLink add(TopicLink pTopicLink) {
mTopicLinks.add(pTopicLink);
mTopicLinkMap.put(pTopicLink.getPageid(), pTopicLink);
return pTopicLink;
}
/**
* add a new TopicLink from the given triple
*/
public TopicLink add(TripleQuery query, Triple pTopicLinkTriple) {
TopicLink lTopicLink = new TopicLink(query, pTopicLinkTriple);
add(lTopicLink);
return lTopicLink;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public TopicLinkManager() {
}
// construct me from the given triple Query query
public TopicLinkManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicLinkQuery = query.query(null, "isA", "TopicLink");
for (Triple lTopicLinkTriple : lTopicLinkQuery.getTriples()) {
add(query, lTopicLinkTriple);
}
// then the SMW triplestore
lTopicLinkQuery = query.query(null, "Property:IsA", "TopicLink");
for (Triple lTopicLinkTriple : lTopicLinkQuery.getTriples()) {
add(query, lTopicLinkTriple);
}
init(query);
} // constructor for TopicLink Manager
// >>>{user defined topicmanager code}{TopicLink}{TopicLink}
// <<<{user defined topicmanager code}{TopicLink}{TopicLink}
} // class TopicLink Manager
}
@{
// global variables
// will only be set if tripleStore argument is available e.g. not for dialogs
Topic maintopic=null;
TripleQuery query=null;
TripleQuery topics=null;
ContextManager mContextManager=null;
TopicManager mTopicManager=null;
String maintopicName=null;
if (tripleStore!=null) {
query=tripleStore.query();
topics=query.query(null,"isA","Topic");
mContextManager=new ContextManager(tripleStore);
mTopicManager=new TopicManager(query);
// PropertyManager mPropertyManager=new PropertyManager(query);
// TopicLinkManager mTopicLinkManager=new TopicLinkManager(query);
// SMW_TypeManager mSMW_TypeManager=new SMW_TypeManager(query);
mTopicManager.configureTopics();
maintopicName=wikiTask.getParams();
if (maintopicName!=null) {
maintopic=mTopicManager.byName(maintopicName);
}
}
}
</source>
55854e2fbffff910c04cf67adaad92c1db328c20
MetaModel
0
34
199
72
2015-12-28T13:36:05Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:04Z
wikitext
text/x-wiki
{{Context
|name=MetaModel
|since=2015/01/23
|master=http://master.bitplan.com
|storemode=property
}}
__NOCACHE__
= Topics =
{{Context
|name=Metamodel
|storemode=none
|viewmode=masterdetail
}}
= WikiTask =
{{ContextWikitask
|context=MetaModel
}}
= Model =
=== sidif ===
<source lang='xml' id='sidif'>
#
# Context:MetaModel
#
MetaModel isA Context
"MetaModel" is name of it
#
#Context
#
Context isA Topic
"Context" is name of it
"Contexts" is pluralName of it
"A Context groups some topics like a Namespace/Package" is documentation of it
"A Context groups some topics like a Namespace/Package" is wikiDocumentation of it
"File:Registry.png" is icon of it
"/images/d/d2/Registry.png" is iconUrl of it
"property" is defaultstoremode of it
"MetaModel" is context of it
Context_name addsTo it
Context_since addsTo it
Context_master addsTo it
# properties of Context
# property name
Context_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
1 is index of it
1 is sortPos of it
true is primaryKey of it
true is mandatory of it
80 is size of it
false is uploadable of it
"Name of the context" is documentation of it
false is isLink of it
"Context" is topic of it
# property since
Context_since isA Property
"since" is name of it
"since" is label of it
"Date" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"datepicker" is inputType of it
"since when is this context available?" is documentation of it
true is showInGrid of it
false is isLink of it
"Context" is topic of it
# property master
Context_master isA Property
"master" is name of it
"master" is label of it
"URL" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"what is the original master source of this context" is documentation of it
true is showInGrid of it
false is isLink of it
"Context" is topic of it
#
#Property
#
Property isA Topic
"Property" is name of it
"Properties" is pluralName of it
"a Property is a Feature/Attribute of a Topic" is documentation of it
"see
* https://semantic-mediawiki.org/wiki/Help:Properties_and_types
* https://semantic-mediawiki.org/wiki/Help:Special_properties
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes" is wikiDocumentation of it
"File:Element_into_input.png" is icon of it
"/images/6/6a/Element_into_input.png" is iconUrl of it
"property" is defaultstoremode of it
"MetaModel" is context of it
Property_name addsTo it
Property_label addsTo it
Property_type addsTo it
Property_index addsTo it
Property_sortPos addsTo it
Property_primaryKey addsTo it
Property_mandatory addsTo it
Property_namespace addsTo it
Property_size addsTo it
Property_uploadable addsTo it
Property_defaultValue addsTo it
Property_inputType addsTo it
Property_allowedValues addsTo it
Property_documentation addsTo it
Property_values_from addsTo it
Property_showInGrid addsTo it
Property_isLink addsTo it
Property_nullable addsTo it
# properties of Property
# property name
Property_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
1 is index of it
1 is sortPos of it
true is primaryKey of it
true is mandatory of it
50 is size of it
false is uploadable of it
"The name of the property" is documentation of it
false is isLink of it
"Property" is topic of it
# property label
Property_label isA Property
"label" is name of it
"label" is label of it
"Text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The label to be shown when in a form" is documentation of it
false is isLink of it
"Property" is topic of it
# property type
Property_type isA Property
"type" is name of it
"type" is label of it
"Page" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"Special:Types/Text" is defaultValue of it
"dropdown" is inputType of it
"The type of a Property" is documentation of it
"property=Property_type" is values_from of it
true is showInGrid of it
false is isLink of it
"Property" is topic of it
# property index
Property_index isA Property
"index" is name of it
"index" is label of it
"Number" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"A positive number that specifies at which position of a Topic the given property should show. The first property to show has the index 1 each following property has an index that is +1 of the previous." is documentation of it
true is showInGrid of it
false is isLink of it
"Property" is topic of it
# property sortPos
Property_sortPos isA Property
"sortPos" is name of it
"sortPos" is label of it
"Number" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
3 is size of it
false is uploadable of it
"If none empty >0 this is the position in the sort clause of this
property. This is used when displaying list of the topic as the default sort order
and it is used for selecting topics .
E.g.
Sortpos 1 for attribute lastname and sortpos 2 for attribute firstname leads to sort by lastname,firstname" is documentation of it
false is isLink of it
"Property" is topic of it
# property primaryKey
Property_primaryKey isA Property
"primaryKey" is name of it
"primary key" is label of it
"Boolean" is type of it
6 is index of it
false is primaryKey of it
false is mandatory of it
4 is size of it
false is uploadable of it
"is this property a primary key of it's topic?" is documentation of it
false is isLink of it
"Property" is topic of it
# property mandatory
Property_mandatory isA Property
"mandatory" is name of it
"mandatory" is label of it
"Boolean" is type of it
7 is index of it
false is primaryKey of it
false is mandatory of it
4 is size of it
false is uploadable of it
"Specifies that this field must be filled in by the user. Note: mandatory should not be used in conjunction with hidden. Use of both in any field will cause the mandatory check on any field to fail when the form is saved.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag" is documentation of it
false is isLink of it
"Property" is topic of it
# property namespace
Property_namespace isA Property
"namespace" is name of it
"namespace" is label of it
"Text" is type of it
8 is index of it
false is primaryKey of it
false is mandatory of it
20 is size of it
false is uploadable of it
"namespace prefix" is documentation of it
false is isLink of it
"Property" is topic of it
# property size
Property_size isA Property
"size" is name of it
"size" is label of it
"Number" is type of it
9 is index of it
false is primaryKey of it
false is mandatory of it
3 is size of it
false is uploadable of it
"the display size of the field for the property" is documentation of it
false is isLink of it
"Property" is topic of it
# property uploadable
Property_uploadable isA Property
"uploadable" is name of it
"uploadable" is label of it
"Boolean" is type of it
10 is index of it
false is primaryKey of it
false is mandatory of it
4 is size of it
false is uploadable of it
"Specifies that a link should be placed next to this field, that opens a popup window to let the user upload a file; see 'Uploading files', below. See
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Uploading_files
The type of the target property needs to be Page for this to work" is documentation of it
false is isLink of it
"Property" is topic of it
# property defaultValue
Property_defaultValue isA Property
"defaultValue" is name of it
"default" is label of it
"Code" is type of it
11 is index of it
false is primaryKey of it
false is mandatory of it
80 is size of it
false is uploadable of it
"default value - Specifies a default value for this field. For date-related fields, default=now will set the value to the current date and possibly time. For text fields, default=current user will set the value to the username of the user adding this page. For the checkbox input type, default=yes will check the checkbox by default. (The 'checkboxes' input type, on the other hand, like the 'listbox' type, requires specifying the actual values, like default=Value A, Value C.) You can also include templates, parser functions, and magic words within the 'default=' value.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag (default)" is documentation of it
false is isLink of it
"Property" is topic of it
# property inputType
Property_inputType isA Property
"inputType" is name of it
"inputType" is label of it
"Text" is type of it
12 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"dropdown" is inputType of it
"text, combobox, dropdown, textarea, tree, datetime, datepicker, timepicker, datetimepicker, menuselect,two listboxes, datecheck, regexp, radiobutton, googlemaps" is allowedValues of it
"see
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>input type - Specifies the type of input this field will have in the form. If a field corresponds to an SMW property or Cargo field, the form will usually have the correct input type by default; otherwise the default is text. If the corresponding SMW property, or Cargo field, cannot be automatically determined, you can use the parameter 'property', or the parameters 'cargo table' and 'cargo field', to manually specify it (see below). The allowed set of input types is different for every semantic property type; see below for the full list of options.
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Allowed_input_types_for_data_types
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms_Inputs" is documentation of it
false is isLink of it
"Property" is topic of it
# property allowedValues
Property_allowedValues isA Property
"allowedValues" is name of it
"allowedValues" is label of it
"Text" is type of it
13 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"There are two ways to specified allowed Values:
# https://semantic-mediawiki.org/wiki/Help:Special_property_Allows_value. <br>Use [[Property:Allows_value]] to see which values are allowed for certain properties
# http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>values=possible values - Specifies a set of either possible values or autocompletion values (depending on the input type) that this field can have, overriding whatever set of values may have been set from the Semantic MediaWiki property. This set of values is separated by commas by default, but the delimiter can be modified using the delimiter= parameter.
If you specify any values method number 2 will be used here which might override any allowed Values specified with method number 1." is documentation of it
false is isLink of it
"Property" is topic of it
# property documentation
Property_documentation isA Property
"documentation" is name of it
"documentation" is label of it
"Text" is type of it
14 is index of it
false is primaryKey of it
false is mandatory of it
500 is size of it
false is uploadable of it
"textarea" is inputType of it
"The documentation for a property" is documentation of it
false is isLink of it
"Property" is topic of it
# property values_from
Property_values_from isA Property
"values_from" is name of it
"values from" is label of it
"Code" is type of it
15 is index of it
false is primaryKey of it
false is mandatory of it
200 is size of it
false is uploadable of it
"textarea" is inputType of it
"Specifies where to get the possible values to be displayed in a form from see
http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* values from property=property name - Similar to values=, but gets its values from the the set of all values that a certain SMW property points to.
* values from category=category name - Similar to values=, but gets its values from the names of all pages belonging to a specific category.
* values from concept=concept name - Similar to values=, but gets its values from the names of all pages belonging to a specific concept.
* values from namespace=namespace name - Similar to values=, but gets its values from the names of all pages belonging to a specific namespace. (To get values from the main namespace, use 'Main' for the namespace name, or just leave it blank.)
* values from url=URL identifier - Used only for autocompletion. Specifies that autocompletion should be based on the values retrieved from an outside URL; see Autocompleting on outside values for how to do this.
* values from external data=variable name - Used for autocompletion. You need to have theExternal Data extension installed to be able to use this parameter. It specifies that autocompletion should be based on the data retrieved from an outside source. A large number of data sources are supported, including web APIs, regular wiki pages, files on the local server, databases and LDAP directories. See Autocompletion using External Data." is documentation of it
false is isLink of it
"Property" is topic of it
# property showInGrid
Property_showInGrid isA Property
"showInGrid" is name of it
"showInGrid" is label of it
"Boolean" is type of it
16 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"true" is defaultValue of it
"I am true if this property is displayed in the default list of properties for my topic as
a column" is documentation of it
true is showInGrid of it
false is isLink of it
"Property" is topic of it
# property isLink
Property_isLink isA Property
"isLink" is name of it
"isLink" is label of it
"Boolean" is type of it
17 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"true if this Property is derived form a Link. It will not be exported to SiDIF separately and automatically be added by the Property Generator" is documentation of it
false is showInGrid of it
false is isLink of it
"Property" is topic of it
# property nullable
Property_nullable isA Property
"nullable" is name of it
"allow nulls?" is label of it
"Boolean" is type of it
18 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"false" is defaultValue of it
"should nullvalues be allowed and value set to NULL when empty?" is documentation of it
false is showInGrid of it
false is isLink of it
"Property" is topic of it
#
#SMW_Type
#
SMW_Type isA Topic
"SMW_Type" is name of it
"SMW_Types" is pluralName of it
"an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes" is documentation of it
"see
* https://semantic-mediawiki.org/wiki/Special:Types
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes" is wikiDocumentation of it
"File:Component.png" is icon of it
"/images/4/40/Component.png" is iconUrl of it
"subobject" is defaultstoremode of it
"MetaModel" is context of it
SMW_Type_type addsTo it
SMW_Type_documentation addsTo it
SMW_Type_helppage addsTo it
SMW_Type_typepage addsTo it
SMW_Type_javaType addsTo it
SMW_Type_type isA Property
"type" is name of it
"type" is label of it
"Text" is type of it
1 is index of it
true is primaryKey of it
true is mandatory of it
50 is size of it
false is uploadable of it
"The Semantic MediaWiki type without the prefix e.g. Text, Number, Boolean" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
SMW_Type_documentation isA Property
"documentation" is name of it
"type" is label of it
"Text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The documentation of this Semantic Media Wiki type" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
SMW_Type_helppage isA Property
"helppage" is name of it
"type" is label of it
"URL" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The url of the 'official' documentation page of this type" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
SMW_Type_typepage isA Property
"typepage" is name of it
"typepage" is label of it
"Page" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The Semantic Media Wiki Special page for this specific type e.g. Special:Types/Text, Special:Types/Boolean, Special:Types/Date, Special:Types/Number, Special:Types/Page" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
SMW_Type_javaType isA Property
"javaType" is name of it
"java Type" is label of it
"Text" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"Java mapping of this type" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
#
#Topic
#
Topic isA Topic
"Topic" is name of it
"Topics" is pluralName of it
"A Topic is a Concept/Class/Thing/Entity" is documentation of it
"A Topic is a Concept/Class/Thing/Entity" is wikiDocumentation of it
"File:Index.png" is icon of it
"/images/master/a/ae/Index.png" is iconUrl of it
"property" is defaultstoremode of it
false is cargo of it
"MetaModel" is context of it
Topic_name addsTo it
Topic_pluralName addsTo it
Topic_icon addsTo it
Topic_iconUrl addsTo it
Topic_documentation addsTo it
Topic_wikiDocumentation addsTo it
Topic_defaultstoremode addsTo it
Topic_listLimit addsTo it
Topic_cargo addsTo it
# properties of Topic
# property name
Topic_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
1 is index of it
true is primaryKey of it
true is mandatory of it
80 is size of it
false is uploadable of it
"The name of the topic" is documentation of it
false is isLink of it
"Topic" is topic of it
# property pluralName
Topic_pluralName isA Property
"pluralName" is name of it
"pluralName" is label of it
"Text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The plural of a topic name. E.g. for the topic 'City' the pluralName is 'Cities'. If no pluralName is specified an 's' is appended. E.g. for the topic 'Book' the default pluralName is 'Books'" is documentation of it
false is isLink of it
"Topic" is topic of it
# property icon
Topic_icon isA Property
"icon" is name of it
"icon" is label of it
"Page" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
"File" is namespace of it
55 is size of it
true is uploadable of it
"an Icon for the topic" is documentation of it
false is showInGrid of it
false is isLink of it
"Topic" is topic of it
# property iconUrl
Topic_iconUrl isA Property
"iconUrl" is name of it
"icon Url" is label of it
"URL" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
80 is size of it
false is uploadable of it
"text" is inputType of it
"the url of an icon" is documentation of it
false is showInGrid of it
false is isLink of it
"Topic" is topic of it
# property documentation
Topic_documentation isA Property
"documentation" is name of it
"documentation" is label of it
"Text" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The plaintext documentation of a Topic. Please do not use markup for this." is documentation of it
false is isLink of it
"Topic" is topic of it
# property wikiDocumentation
Topic_wikiDocumentation isA Property
"wikiDocumentation" is name of it
"wikiDocumentation" is label of it
"Text" is type of it
6 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"Documentation of the Topic using MediaWiki / Semantic Mediawiki markup" is documentation of it
false is isLink of it
"Topic" is topic of it
# property defaultstoremode
Topic_defaultstoremode isA Property
"defaultstoremode" is name of it
"default storemode" is label of it
"Text" is type of it
7 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"radiobutton" is inputType of it
"none,property,subobject" is allowedValues of it
"The default storemode of the topic" is documentation of it
false is isLink of it
"Topic" is topic of it
# property listLimit
Topic_listLimit isA Property
"listLimit" is name of it
"list Limit" is label of it
"Number" is type of it
8 is index of it
false is primaryKey of it
false is mandatory of it
4 is size of it
false is uploadable of it
"200" is defaultValue of it
"What is the default #ask list limit for this Topic?" is documentation of it
true is showInGrid of it
false is isLink of it
"Topic" is topic of it
# property cargo
Topic_cargo isA Property
"cargo" is name of it
"use cargo" is label of it
"Boolean" is type of it
9 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"Should the Topic be stored using the [https://www.mediawiki.org/wiki/Extension:Cargo Cargo Extension?]" is documentation of it
false is showInGrid of it
false is isLink of it
"Topic" is topic of it
#
#Action
#
Action isA Topic
"Action" is name of it
"Actions" is pluralName of it
"An action/function/operation to be performed" is documentation of it
"An action/function/operation to be performed" is wikiDocumentation of it
"File:Actionicon.png" is icon of it
"/images/e/eb/Actionicon.png" is iconUrl of it
"subobject" is defaultstoremode of it
false is cargo of it
"MetaModel" is context of it
Action_name addsTo it
Action_servicetype addsTo it
Action_service addsTo it
Action_inputtype addsTo it
Action_input addsTo it
Action_actionpage addsTo it
Action_output addsTo it
Action_engine addsTo it
Action_author addsTo it
Action_since addsTo it
Action_comment addsTo it
# properties of Action
# property name
Action_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
0 is index of it
true is primaryKey of it
true is mandatory of it
false is uploadable of it
"The name of the Action" is documentation of it
false is isLink of it
"Action" is topic of it
# property servicetype
Action_servicetype isA Property
"servicetype" is name of it
"servicetype" is label of it
"Text" is type of it
1 is index of it
false is primaryKey of it
true is mandatory of it
false is uploadable of it
"WikiTask" is defaultValue of it
"radiobutton" is inputType of it
"WikiTask" is allowedValues of it
"The type of the service" is documentation of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property service
Action_service isA Property
"service" is name of it
"service" is label of it
"URL" is type of it
2 is index of it
"The service to be used" is documentation of it
false is isLink of it
"Action" is topic of it
# property inputtype
Action_inputtype isA Property
"inputtype" is name of it
"inputtype" is label of it
"Text" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"Page" is defaultValue of it
"radiobutton" is inputType of it
"Query,Page,URL" is allowedValues of it
"What is the type of the input?" is documentation of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property input
Action_input isA Property
"input" is name of it
"input" is label of it
"Code" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
300 is size of it
false is uploadable of it
"textarea" is inputType of it
"the decription of the input e.g. a page name, url or SMW ask query" is documentation of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property actionpage
Action_actionpage isA Property
"actionpage" is name of it
"actionpage" is label of it
"Page" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"Property:Action actionpage" is defaultValue of it
"What page will 'steer' this action?" is documentation of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property output
Action_output isA Property
"output" is name of it
"output" is label of it
"Text" is type of it
6 is index of it
"where the output of the action should go" is documentation of it
false is isLink of it
"Action" is topic of it
# property engine
Action_engine isA Property
"engine" is name of it
"engine" is label of it
"Text" is type of it
7 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"rythm" is defaultValue of it
"radiobutton" is inputType of it
"rythm,freemarker" is allowedValues of it
"the template engine to be used either [[Rythm]] or [[Freemarker]]" is documentation of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property author
Action_author isA Property
"author" is name of it
"author" is label of it
"Page" is type of it
8 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"combobox" is inputType of it
"the author of this action" is documentation of it
"namespace=User" is values_from of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property since
Action_since isA Property
"since" is name of it
"since" is label of it
"Date" is type of it
9 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"datepicker" is inputType of it
"since when is this action available?" is documentation of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property comment
Action_comment isA Property
"comment" is name of it
"comment" is label of it
"Text" is type of it
10 is index of it
false is primaryKey of it
false is mandatory of it
400 is size of it
false is uploadable of it
"textarea" is inputType of it
"a comment for the action" is documentation of it
false is showInGrid of it
false is isLink of it
"Action" is topic of it
#
#
#TopicLink
#
TopicLink isA Topic
"TopicLink" is name of it
"TopicLinks" is pluralName of it
"A TopicLink links two Concepts" is documentation of it
"A TopicLink links two [[Concept:Topic]]s" is wikiDocumentation of it
"File:Link.png" is icon of it
"/images/f/fd/Link.png" is iconUrl of it
"subobject" is defaultstoremode of it
"MetaModel" is context of it
TopicLink_name addsTo it
TopicLink_source addsTo it
TopicLink_sourceRole addsTo it
TopicLink_sourceMultiple addsTo it
TopicLink_sourceDocumentation addsTo it
TopicLink_target addsTo it
TopicLink_targetRole addsTo it
TopicLink_targetMultiple addsTo it
TopicLink_targetDocumentation addsTo it
TopicLink_masterDetail addsTo it
TopicLink_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
1 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The name of the topic link" is documentation of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_source isA Property
"source" is name of it
"source" is label of it
"Page" is type of it
2 is index of it
false is primaryKey of it
true is mandatory of it
50 is size of it
false is uploadable of it
"dropdown" is inputType of it
"the source of a topic Link" is documentation of it
"concept=Topic" is values_from of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_sourceRole isA Property
"sourceRole" is name of it
"sourceRole" is label of it
"Text" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_sourceMultiple isA Property
"sourceMultiple" is name of it
"sourceMultiple" is label of it
"Boolean" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_sourceDocumentation isA Property
"sourceDocumentation" is name of it
"source Doc" is label of it
"Text" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
300 is size of it
false is uploadable of it
"textarea" is inputType of it
"Documentation for the source Role" is documentation of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_target isA Property
"target" is name of it
"target" is label of it
"Page" is type of it
6 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_targetRole isA Property
"targetRole" is name of it
"targetRole" is label of it
"Text" is type of it
7 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_targetMultiple isA Property
"targetMultiple" is name of it
"sourceMultiple" is label of it
"Boolean" is type of it
8 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_targetDocumentation isA Property
"targetDocumentation" is name of it
"target Doc" is label of it
"Text" is type of it
9 is index of it
false is primaryKey of it
false is mandatory of it
300 is size of it
false is uploadable of it
"textarea" is inputType of it
"Documentation for the target Role" is documentation of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_masterDetail isA Property
"masterDetail" is name of it
"masterDetail" is label of it
"Boolean" is type of it
10 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"should the details be displayed in the same form and template?
If no
* for a 1:1 link there will be a linking attribute used and that can be selected.
* for a 1:n link a link to the list of neighbours will be displayed
if yes
* for a 1:1 link the details
* for a 1:n link" is documentation of it
false is isLink of it
"TopicLink" is topic of it
#
# TopicLinks
#
TopicLinks_containedProperties isA TopicLink
"containedProperties" is name of it
"topic" is sourceRole of it
false is sourceMultiple of it
"Topic" is source of it
"properties" is targetRole of it
true is targetMultiple of it
"Property" is target of it
TopicLinks_containedTopics isA TopicLink
"containedTopics" is name of it
"context" is sourceRole of it
false is sourceMultiple of it
"Context" is source of it
"topics" is targetRole of it
true is targetMultiple of it
"Topic" is target of it
TopicLinks_typeOfProperty isA TopicLink
"typeOfProperty" is name of it
"usedByProperties" is sourceRole of it
true is sourceMultiple of it
"Property" is source of it
"the properties having this type" is sourceDocumentation of it
"smw_type" is targetRole of it
false is targetMultiple of it
"SMW_Type" is target of it
false is masterDetail of it
"the smw_type being used by this property" is targetDocumentation of it
# data
Annotation_URI isA SMW_Type
"Annotation URI" is type of it
"Special:Types/Annotation_URI" is typepage of it
"Holds URIs, but has some technical differences during export compared to the 'URL' type" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Annotation_URI" is helppage of it
Boolean isA SMW_Type
"Boolean" is type of it
"Special:Types/Boolean" is typepage of it
"Holds boolean (true/false) values" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Boolean" is helppage of it
Code isA SMW_Type
"Code" is type of it
"Special:Types/Code" is typepage of it
"Holds technical, pre-formatted texts (similar to type Text)" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Code" is helppage of it
Date isA SMW_Type
"Date" is type of it
"Special:Types/Date" is typepage of it
"Holds particular points in time" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Date" is helppage of it
Email isA SMW_Type
"Email" is type of it
"Special:Types/Email" is typepage of it
"Holds e-mail addresses" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Email" is helppage of it
Geographic_coordinate isA SMW_Type
"Geographic coordinate" is type of it
"Special:Types/Geographic_coordinate" is typepage of it
"Holds coordinates describing geographic locations" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Geographic_coordinate" is helppage of it
Number isA SMW_Type
"Number" is type of it
"Special:Types/Number" is typepage of it
"Holds integer and decimal numbers, with an optional exponent" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Number" is helppage of it
Page isA SMW_Type
"Page" is type of it
"Special:Types/Page" is typepage of it
"Holds names of wiki pages, and displays them as a link" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Page" is helppage of it
Quantity isA SMW_Type
"Quantity" is type of it
"Special:Types/Quantity" is typepage of it
"Holds values that describe quantities, containing both a number and a unit" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Quantity" is helppage of it
Record isA SMW_Type
"Record" is type of it
"Special:Types/Record" is typepage of it
"Allows saving compound property values that consist of a short list of values with fixed type and order" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Record" is helppage of it
Telephone_number isA SMW_Type
"Telephone number" is type of it
"Special:Types/Telephone_number" is typepage of it
"Holds international telephone numbers based on the [https://tools.ietf.org/html/rfc3966 RFC 3966 standard]" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Telephone_number" is helppage of it
Temperature isA SMW_Type
"Temperature" is type of it
"Special:Types/Temperature" is typepage of it
"Holds temperature values (similar to type Quantity)" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Temperature" is helppage of it
Text isA SMW_Type
"Text" is type of it
"Special:Types/Text" is typepage of it
"Holds text of arbitrary length" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Text" is helppage of it
URL isA SMW_Type
"URL" is type of it
"Special:Types/URL" is typepage of it
"Holds URIs, URNs and URLs" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_URL" is helppage of it
</source>
<headertabs/>
90701fa09962bdf4ea06a3cdf09401c36eb095f7
Property:Property type
102
57
200
97
2015-12-28T13:36:13Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:13Z
wikitext
text/x-wiki
{{Property
|name=type
|label=type
|type=Special:Types/Page
|index=3
|primaryKey=No
|mandatory=No
|uploadable=No
|defaultValue=Special:Types/Text
|inputType=dropdown
|documentation=The type of a Property
|values_from=property=Property_type
|showInGrid=Yes
|isLink=No
|nullable=No
|topic=Concept:Property
|storemode=property
}}
[[Has type::Page]]
[[has default form::Property]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
410662e2cf92c584db7be430b15aaaf259929822
Property:Topic name
102
71
201
111
2015-12-28T13:36:27Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:26Z
wikitext
text/x-wiki
{{Property
|mandatory=true
|uploadable=false
|index=1
|size=80
|topic=Concept:Topic
|label=name
|name=name
|primaryKey=true
|documentation=The name of the topic
|type=Special:Types/Text
|storemode=property
}}
[[Has type::Text]]
4dea77ad5ab381f12da0066904867da713f7551a
Property:Topic listLimit
102
150
202
2015-12-28T13:36:28Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:27Z
wikitext
text/x-wiki
{{Property
|name=listLimit
|label=list Limit
|type=Special:Types/Number
|index=8
|primaryKey=No
|mandatory=No
|size=4
|uploadable=No
|defaultValue=200
|documentation=What is the default #ask list limit for this Topic?
|showInGrid=Yes
|isLink=No
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
dbdb362ad2f9c64f079b060ed9d1a347dffabd26
Property:Context since
102
151
203
2015-12-28T13:36:34Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:33Z
wikitext
text/x-wiki
{{Property
|name=since
|label=since
|type=Special:Types/Date
|index=2
|primaryKey=No
|mandatory=No
|uploadable=No
|inputType=datepicker
|documentation=since when is this context available?
|showInGrid=Yes
|isLink=No
|nullable=No
|topic=Concept:Context
|storemode=property
}}
[[Has type::Date]]
This is a Property with type {{#show: {{FULLPAGENAME}} | ?Property type#- }}
ef317164bd8bfe185f7a36cd281b051deda36694
Property:Context master
102
152
204
2015-12-28T13:36:35Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:34Z
wikitext
text/x-wiki
{{Property
|name=master
|label=master
|type=Special:Types/URL
|index=3
|primaryKey=No
|mandatory=No
|size=100
|uploadable=No
|documentation=what is the original master source of this context
|showInGrid=Yes
|isLink=No
|nullable=No
|topic=Concept:Context
|storemode=property
}}
[[Has type::URL]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
8eec08647e95827104614c31968b91f97fe1deff
Template:!
10
153
205
2015-12-28T13:36:47Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:47Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:TopicWikitasks
|next=Template:ContextWikitask
}}
This is the "!" template. Allows to have a | in a template by using <pre>{{¡}}</pre>
</noinclude><includeonly>|</includeonly>
b1bf2f91754e90290d94eb0ae3d576a1e25111e9
Template:Category
10
154
206
2015-12-28T13:36:48Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:48Z
wikitext
text/x-wiki
<noinclude>{{TemplateSequence|prev=Template:!|next=Template:ContextWikitask}}This is the Template Category
It defines the category with the given name and sets {{Link|target=Property:Has category}}
[[Has category::Category:Category]]
=== Usage ===
<pre>{{Category|name=Category}}</pre>
{{Category|name=Category}}
</noinclude><includeonly>{{#if:{{{name|}}}|{{#set:|Has category=Category:{{{name}}}}}[[Category:{{{name}}}]]}}</includeonly>
d6659bc68935edc42f0ee6fdaefe1d496ca3ff24
Template:ContextWikitask
10
105
207
146
2015-12-28T13:36:50Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:49Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:!
|next=Template:Done
}}
This is the "ContextWikitask" template. This is the Template for the wikiTasks to generate Semantic Media Wiki related wiki pages for a Context
=== usage ===
<pre>
{{ContextWikitask
|context=
}}
</pre>
==== Examples ====
<pre>
{{ContextWikitask
|context=Presentation
}}
</pre>
{{ContextWikitask
|context=Presentation
}}
</noinclude><includeonly>
{{wikitask|cmd=login|input={{urlencode:{{#realname:Visitor}}}}}}<br>
{{wikitask|cmd=reset}}<br>
*{{Link|target=Template:Wikitask}}
*{{Link|target=TopicGenerator}}
*{{Link|target=SiDIFTemplates}}
{| class='wikitable sortable'
!dialog smw
!dialog sidif
!no dialog smw
!no dialog sidif
|-
| {{wikitask|cmd=runtemplate|engine=Rythm|input=sidif|dialog=TopicGenerator#dialog|template=TopicGenerator#template|params=tripleStoreMode:SMW,contextName:{{{context|}}}|targetpage=TopicGenerator2015/{{{context|}}}}}
| {{wikitask|cmd=runtemplate|engine=Rythm|input=sidif|dialog=TopicGenerator#dialog|template=TopicGenerator#template|params=sidifInput:{{FULLPAGENAME}}#sidif,contextName:{{{context|}}}|targetpage=TopicGenerator2015/{{{context|}}}}}
|{{wikitask|cmd=runtemplate|engine=Rythm|input=sidif|template=TopicGenerator#template|params=tripleStoreMode:SMW,contextName:{{{context|}}}|targetpage=TopicGenerator2015/{{{context|}}}}}
|{{wikitask|cmd=runtemplate|engine=Rythm|input=sidif|template=TopicGenerator#template|params=sidifInput:{{FULLPAGENAME}}#sidif,contextName:{{{context|}}}|targetpage=TopicGenerator2015/{{{context|}}}}}
|}
</includeonly>
20faa3008fb45d5228e2b8ce2a0ee15cd870c195
Template:Done
10
94
208
135
2015-12-28T13:36:51Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:50Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:ContextWikitask
|next=Template:Fixme
}}
This is the Template ''Done''
=== usage ===
<pre>{{Done}}</pre>
{{Done}}
<pre>{{Done|size=12}}</pre>
{{Done|size=12}}
<pre>{{Done|size=36}}</pre>
{{Done|size=36}}
<pre>{{Done|size=48}}</pre>
{{Done|size=48}}
[[Category:Template]]
</noinclude><includeonly><span style='color:green;font-size:{{{size|24}}}px'>✓</span></includeonly>
23c0522c0db867ac4dabb1825c63dabd35887344
Template:Icon
10
100
209
141
2015-12-28T13:36:52Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:51Z
wikitext
text/x-wiki
<noinclude>__NOCACHE__<!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:HideSideBar
|next=Template:IconLink
}}
This is the template for ProfiWiki stock icons which are derived from https://fortawesome.github.io/Font-Awesome/cheatsheet/
see [[:Category:Icon]]
=== examples ===
<pre>
{{Icon}}
</pre>
{{Icon}}
<pre>
{{Icon|name=home}}
</pre>
{{Icon|name=home}}
<pre>
{{Icon|name=home}}
</pre>
{{Icon|name=home}}
<pre>
{{Icon|name=server}}
</pre>
{{Icon|name=server}}
<pre>
{{Icon|name=home|style=plain}}
</pre>
{{Icon|name=home|style=plain}}
<pre>
{{Icon|name=home|size=32}}
</pre>
{{Icon|name=home|size=32}}
=== implementation ===
<source lang='html4strict'>
<img src="{{SERVER}}/font-awesome/svg/{{{name|question_and_answer}}}.svg" width="{{{size|48}}}" height="{{{size|48}}}" title="{{{name|question_and_answer}}}">
</source>
[[Category:Template]]</noinclude><includeonly>{{#switch:{{{storemode|}}}
|none=
|#default={{#subobject:Icon_name={{{name|question_and_answer}}}
|Icon style={{{style|shadow}}}
|Icon size={{{size|48}}}
}}}}<img src="{{SERVER}}/font-awesome/svg/{{{name|question_and_answer}}}.svg" width="{{{size|48}}}" height="{{{size|48}}}" title="{{{name|question_and_answer}}}">{{#switch:{{{viewmode|}}}
|editable={{Icon|name=edit|size=16}}{{Link|target=Special:FormEdit/Icon/{{FULLPAGENAME}}|title=edit}}}}</includeonly>
09ec8c079e33c9b5164da02ef58e56e91149a0c1
Template:IconLink
10
93
210
134
2015-12-28T13:36:53Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:52Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->__NOCACHE__{{TemplateSequence
|prev=Template:Icon
|next=Template:Language
}}
This is the "IconLink" template. It uses the ImageLink extension to render clickable Links with an Icon.
=== Examples ===
<pre>
{{IconLink}}
</pre>
{{IconLink}}
<pre>
{{IconLink|name=download|target=https://www.magicdraw.com/main.php?ts=download_demo&cmd_go_to_login=1&menu=download_demo&back_cmd=cmd_show|title=Magicdraw 18.0 LTR download}}
</pre>
{{IconLink|name=download|target=https://www.magicdraw.com/main.php?ts=download_demo&cmd_go_to_login=1&menu=download_demo&back_cmd=cmd_show|title=Magicdraw 18.0 LTR download}}
<pre>
{{IconLink|name=cubes|target=Template:PageSequence|title=PageSequence Template}}
</pre>
{{IconLink|name=cubes|target=Template:PageSequence|title=PageSequence Template}}
</noinclude><includeonly>{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http
|<imgLink img='{{Icon|name={{{name|question_and_answer}}}|title={{{title|}}}}}' title='{{{title|}}}' href='{{{target|http://www.mediawiki.org}}}'></imgLink>
|<imgLink img='{{Icon|name={{{name|question_and_answer}}}|title={{{title|}}}}}'>{{{target|Main Page}}}</imgLink>
}}</includeonly>
f9d1ea71c92173c54b2a4c8ed8ac4ebca01dc5d6
Template:Language
10
155
211
2015-12-28T13:36:54Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:54Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:IconLink
|next=Template:Link
}}
From http://semantic-mediawiki.org/wiki/Template:Language
This template is used for stating the language for some content page.
Usage: <pre>{{language|master page=Page title|language=en}}</pre>
The parameters have the following meaning:
* <tt>master page</tt>: the «main» page about that topic, usually the article with the English documentation for the most current version
* <tt>language</tt>: a standard [[Property:language code|language code]]
</noinclude><includeonly>
{{#ifeq:{{#ask: [[master page::{{{master page}}}]] [[language code::!{{{language}}}]]|format=count}}|0||<div style="text-align: center; background: #F7F7F7; border: 4px solid #B0BFE8; padding: 0.25em; ">
{{#switch:{{{language}}}|
de = Diese Seite in anderen Sprachen: |
fr = Cette page dans d'autres langues : |
ja = 他の言語でのこのページ: |
nl = Deze pagina in andere talen: |
ru = Эта страница на других языках: |
zh-hans = 本页面的其他语种: |
uk = Ця сторінка на інших мовах: |
This page in other languages:}}
{{#ask: [[master page::{{{master page}}}]] [[language code::!{{{language}}}]]|
?language code =|
link=none|
format=list|
sep=, |
template=languagelink|
sort = language code|
order = asc|
limit = 10|
searchlabel = […]
}}
</div>}}
<div style="display: none; read: none;">
[[master page::{{{master page}}}]] [[language code::{{{language}}}]]
</div>
</includeonly>
c701582f81e92f16c66a26476c1487ce7e90b8e1
Template:Link
10
19
212
133
2015-12-28T13:37:02Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:36:55Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:Language
|next=Template:PageSequence
}}
== template purpose ==
This is a Template for internal and external Links in WikiSon notation.
=== Motivation ===
In Mediawiki there are at least five different ways to use a link - we'd like to hide this complexity and add new functionality:
# <pre>[[Main Page]]</pre>[[Main Page]] - internal link with no text
# <pre>[[Main Page|Start Page]]</pre>[[Main Page|Start Page]] - internal link with text
# <pre>[http://partner.bitplan.com] </pre>[http://partner.bitplan.com] - external link as footnote
# <pre>[http://partner.bitplan.com BITPlan partner site] </pre>[http://partner.bitplan.com BITPlan partner site] - external link with text
# <pre>http://partner.bitplan.com </pre>http://partner.bitplan.com - automatic external link
== WikiSon Link ==
=== Motivation ===
The Concept behind a link is
<uml>
Class Link {
target
title
}
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
hide Circle
skinparam note{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam package{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam usecase{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam activity{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam classAttribute{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam class{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
</uml>
This calls for the WikiSon notation
<pre>
{{Link
|target=sometarget
|text=sometext
}}
</pre>
=== Link as WikiSon ===
Using the WikiSon Concept approach the Link Concept is represented via
the Wiki [[:Category:Link]]<br>
Especially there is a [[List of Links]] page available.
=== Importance ===
this is a fundamental concept should not be broken. Therefore
{{Fixme|todo=This template needs to be protected soon|done=true}}
{{Fixme|todo=This template needs to be distributed in the smartMediaWiki network of wikis|done=false}}
=== Examples ===
<pre>
{{Link}}
</pre>
internal default link to Main Page
{{Link}}
<pre>
{{Link|target=Main Page}}
</pre>
internal link to Main Page
{{Link|target=Main Page}}
<pre>
{{Link|target=Main Page|title=Main Page}}
</pre>
internal link to Main Page with title
{{Link|target=Main Page|title=Main Page}}
<pre>
{{Link|target=http://partner.bitplan.com}}
</pre>
external link
{{Link|target=http://partner.bitplan.com}}
<pre>
{{Link|target=http://partner.bitplan.com|title=BITPlan Partner wiki}}
</pre>
external link with title
{{Link|target=http://partner.bitplan.com|title=BITPlan Partner wiki}}
=== implementation ===
==== Prerquisite ====
LocalSettings.php needs to have the StringFunctions enabled:
<source lang='php'>
# WF 2015-01-20
# allow string functions
$wgPFEnableStringFunctions=true;
</source>
==== Template source ====
The complexity of this template macro needs to be hidden
===== original Link Template =====
<pre>
{{#set:Link target={{{target|}}}
|Link title={{{title|}}}
}}{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http | {{#set:Link targetUrl={{{target|}}}}}{{#if: {{{title|}}}
| [{{{target|http://www.smartMediaWiki.com}}} {{{title}}}]
| [{{{target|http://www.smartMediaWiki.com}}}]
}}| {{#set:Link targetPage={{{target|}}}}}{{#if: {{{title|}}}
| [[{{{target|Main Page}}}|{{{title}}}]]
| [[{{{target|Main Page}}}]]
}}}}[[Category:Link]]
</pre>
===== pretty printed Template macro =====
this version would unfortunately create unwanted newlines in the macro result
<source lang='html4strict'>
<!-- set concept attributes target (mandatory) and title (optional) -->
{{#set:Link target={{{target|}}}
|Link title={{{title|}}}
}}
<!-- check whether link is external or internal by comparing the firsts 4 chars with "http" -->
{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http
| <!-- in the http case (external link) set the targetURL property - it has the type "URL" and not "Text" like target or "Page" like targetPage -->
{{#set:Link targetUrl={{{target|}}}}}
<!-- display external link with our without title -->
{{#if: {{{title|}}}
| [{{{target|http://www.smartMediaWiki.com}}} {{{title}}}]
| [{{{target|http://www.smartMediaWiki.com}}}]
}}
| <!-- in the non-http case (internal link) set the targetPage property - it has the type "Page" and not "Text" like target or "Url" like targetUrl -->
{{#set:Link targetPage={{{target|}}}}}
<!-- display internal link with our without title -->
{{#if: {{{title|}}}
| [[{{{target|Main Page}}}|{{{title}}}]]
| [[{{{target|Main Page}}}]]
}}
}}
<!-- set the Category so that any page using this is displayed in this category -->
[[Category:Link]]
</source>
==== How the Link Macro works ====
The Link Macro checks whether the link is external or internal and displays the correct version. It sets the Link Concept's attributes by setting the correspond Semantic Media Wiki properties.
it uses the following helper funcitons:
* Substring: https://www.mediawiki.org/wiki/Extension:StringFunctions/en#.23sub:
* #ifeq: https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions/en#.23ifeq
* #if: https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions/en#.23if
* #set: https://semantic-mediawiki.org/wiki/Help:Setting_values
===== Substring =====
<pre>
{{#sub:string|start|length}}
The start parameter, if positive (or zero), specifies a zero-based index of the first character to be returned.
Example: {{#sub:Icecream|3}} returns cream.
{{#sub:Icecream|0|3}} returns Ice.
</pre>
===== if exists and non empty =====
<pre>
{{#if: test string | value if test string is not empty | value if test string is empty (or only white space) }}
</pre>
===== if equals =====
<pre>
{{#ifeq: string 1 | string 2 | value if identical | value if different }}
</pre>
===== setting Semantic values =====
<pre>
{{#set:Has population=2,234,105
|Located in country=France
|Has mayor=Bertrand Delanoë
}}
</pre>
[[Categorie:Link]]
[[Category:Template]]</noinclude><includeonly>{{#set:Link target={{{target|}}}
|Link title={{{title|}}}
}}{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http | {{#set:Link targetUrl={{{target|}}}}}{{#if: {{{title|}}}
| [{{{target|http://www.smartMediaWiki.com}}} {{{title}}}]
| [{{{target|http://www.smartMediaWiki.com}}}]
}}| {{#set:Link targetPage={{{target|}}}}}{{#if: {{{title|}}}
| [[{{{target|Main Page}}}|{{{title}}}]]
| [[{{{target|Main Page}}}]]
}}}}</includeonly>
04c1dcdbfaed57a39f11b3c15ab4a8e55c28256f
Template:PageSequence
10
103
213
144
2015-12-28T13:37:03Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:02Z
wikitext
text/x-wiki
<noinclude>__NOCACHE__<!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:Link
|next=Template:PdfBook
}}
This is the PageSequence template it allows for prev/next style page sequences to displayed with icons. See [[Template:Icon]]
<pre>
{{PageSequence
|prev=
|next=
}}
</pre>
=== example ===
<pre>
{{PageSequence|prev=|next=bash|category=tools|categoryIcon=linux}}
</pre>
{{PageSequence|prev=|next=bash|category=tools|categoryIcon=linux}}
<pre>
{{PageSequence
|prev=Template:Icon
|next=Template:Link
|category=Template
|categoryIcon=file-text-o
}}
</pre>
{{PageSequence
|prev=Template:Icon
|next=Template:Link
|category=Template
|categoryIcon=file-text-o
}}
</noinclude><includeonly>{{#set:
|PageSequence next={{{next|}}}
|PageSequence prev={{{prev|}}}
|PageSequence category={{{category|}}}
|PageSequence categoryIcon={{{categoryIcon|}}}
}}
<div style="display:table;border-collapse: collapse;"><div style="display: table-row;">
<div style="display: table-cell; vertical-align: middle">{{#if: {{{prev|}}}|
{{#ifexist: {{{prev}}}
|<imgLink img='{{Icon|name=nav_left_blue|title=previous}}'>{{{prev|}}}</imgLink>
|<imgLink img='{{Icon|name=nav_left_red|title=previous}}'>{{{prev|}}}</imgLink>}}
}}
</div>
<div style="display: table-cell;">
<div style="display: table-row;">{{#if: {{{categoryIcon|}}}
|<imgLink img='{{Icon|name={{{categoryIcon|}}}|title={{{category|}}}}}'>:Category:{{{category|}}}</imgLink>
}}
</div>
<div style="display: table-row;">{{Icon|name=edit|size=16}}{{Link|target=Special:FormEdit/PageSequence/{{FULLPAGENAME}}|title=edit}}</div>
</div>
<div style="display: table-cell; vertical-align: middle">{{#if: {{{next|}}}
|{{#ifexist: {{{next}}}
|<imgLink img='{{Icon|name=nav_right_blue|title=next}}'>{{{next|}}}</imgLink>
|<imgLink img='{{Icon|name=nav_right_red|title=next}}'>{{{next|}}}</imgLink>
}}
}}
</div>
</div></div>{{#if: {{{category|}}}
|{{Category|name={{{category|}}}}}
}}</includeonly>
acf701aab572b61582ff73d082495fabb08c006a
Template:PdfBook
10
156
214
2015-12-28T13:37:04Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:03Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:Link
|next=Template:ProfiWiki
}}
This is the "PdfBook" template. It creates a PDF File from a set of pages of a category. If the category page should be included it needs to be part of the category - reference itself.
=== Example ===
<pre>
{{PdfBook}}
</pre>
{{PdfBook}}
[[Category:Template]]
</noinclude>
<includeonly>[[Image:15x18-fileicon-pdf.png]][{{fullurl:{{FULLPAGENAMEE}}|action=pdfbook}} Create a PDF Book of this category]</includeonly>
bcebe291da1431411dff0fa9f22b2ac07ffb19ea
Template:Sidif
10
95
215
136
2015-12-28T13:37:04Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:04Z
wikitext
text/x-wiki
<noinclude>{{TemplateSequence
|prev=Template:ProfiWiki
|next=Template:TemplateSequence
}}
This is the Template <nowiki>sidif</nowiki>.
It displays a link to the {{sidif}} website.
=== Usage ===
<pre>
{{sidif}}
</pre>
==== result ====
{{sidif}}
=== templates used ===
[[Template:Link]]
[[Category:Template]]
</noinclude><includeonly>{{Link|target=http://www.sidif.org|title='''Si'''mple '''D'''ata '''I'''nterchange '''F'''ormat (SiDIF)}}</includeonly>
136ed54eb309211e7a0b19134645d87d4d637bca
Template:TemplateSequence
10
157
216
2015-12-28T13:37:05Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:05Z
wikitext
text/x-wiki
<noinclude>{{TemplateSequence|prev=Template:Sidif|next=Template:TopicWikitasks}}
This is the TemplateSequence template
== example ==
<pre>
{{TemplateSequence|prev=Template:Sidif|next=Template:TopicWikitasks}}
</pre>
{{TemplateSequence|prev=Template:Sidif|next=Template:TopicWikitasks}}
</noinclude><includeonly>{{PageSequence
|prev={{{prev|}}}
|next={{{next|}}}
|category=Template
|categoryIcon=file-text-o
}}</includeonly>
6126d947a2471f63c1c6e7462b4c7daae66d442f
Template:TopicWikitasks
10
97
217
138
2015-12-28T13:37:07Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:06Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:PdfBook
|next=Template:WhatLinksHere
}}
This is the Template for the wikiTasks to generate Semantic Media Wiki related wiki pages for Topics
=== usage ===
<pre>
{{TopicWikitasks
|context=
|topic=
|input=
|plural=
}}
</pre>
==== Examples ====
<pre>
{{TopicWikitasks
|context=City
|topic=City
|plural=Cities
|input=cities
}}
</pre>
{{TopicWikitasks
|context=City
|topic=City
|plural=Cities
|input=cities
}}
</noinclude><includeonly>
{{wikitask|cmd=login|input={{urlencode:{{#realname:Visitor}}}}}}<br>
{{wikitask|cmd=reset}}<br>
*{{Link|target=Template:Wikitask}}
*{{Link|target=SiDIFTemplates}}
{| class='wikitable sortable'
! {{{topic|}}}
! sidif
! smw
|-
! template
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#template|targetpage=Template:{{{topic|}}}}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#template|targetpage=Template:{{{topic|}}}}}
|-
! form
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#form|targetpage=Form:{{{topic|}}}}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#form|targetpage=Form:{{{topic|}}}}}
|-
! list of
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#listof|targetpage=List of {{{plural|{{{topic|}}}s}}}}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#listof|targetpage=List of {{{plural|{{{topic|}}}s}}}}}
|-
! category
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#category|targetpage=Category:{{{topic|}}}}}{{Link|target=:Category:{{{topic|}}}}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#category|targetpage=Category:{{{topic|}}}}}{{Link|target=:Category:{{{topic|}}}}}
|-
! properties
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#properties|targetpage=Concept:{{{topic|}}}/properties}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#properties|targetpage=Concept:{{{topic|}}}/properties}}
|-
! help
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#help|targetpage=Help:{{{topic|}}}}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#help|targetpage=Help:{{{topic|}}}}}
|-
! instances
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#instances|targetpage={{{plural|{{{topic|}}}s}}}}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#instances|targetpage={{{plural|{{{topic|}}}s}}}}}
|-
! concept
| {{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#concept|targetpage=Concept:{{{topic|}}}}}
| {{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#concept|targetpage=Concept:{{{topic|}}}}}
|-
! java code
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#javacodegen|targetpage={{FULLPAGENAMEE}}#{{{topic|}}} JavaCode}}
|{{wikitask|cmd=runtemplate|input={{{input|}}}|params=tripleStoreMode:SMW,contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#javacodegen|targetpage={{FULLPAGENAMEE}}#{{{topic|}}} JavaCode}}
|-
| colspan='3' |<pre>
{{wikitask|cmd=runtemplate|input={{{input|}}}|params=sidifInput:{{FULLPAGENAME}}#{{{input|}}},contextName:{{{context|}}},maintopicName:{{{topic|}}}|engine=Rythm|template=SiDIFTemplates#javacodegen|targetpage={{FULLPAGENAMEE}}#{{{topic|}}} JavaCode}}
</pre>
|}
</includeonly>
7cb2301c19e50e82f18d7d0f09359e8d5294cfa3
Template:WhatLinksHere
10
158
218
2015-12-28T13:37:09Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:09Z
wikitext
text/x-wiki
<noinclude>__NOCACHE__<!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:TopicWikitasks
|next=Template:Wikitask
}}
This template shows all Pages that have a
<pre>{{Link|target=...}}</pre> that points to the page using this template or the one given as a parameter
=== Examples ===
<pre>
{{WhatLinksHere}}
</pre>
{{WhatLinksHere}}
<pre>
{{WhatLinksHere|Concept:Topic}}
</pre>
{{WhatLinksHere|Concept:Topic}}
</noinclude><includeonly>
{{#ask: [[Link target::{{{1|{{FULLPAGENAME}}}}}]]
|format=ul
}}</includeonly>
05675ca5a01052b60d50024ef7b422221af0f13a
Template:Wikitask
10
98
219
139
2015-12-28T13:37:10Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:10Z
wikitext
text/x-wiki
<noinclude>__NOCACHE__<!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:TopicWikitasks
|next=Template:WikiIconTask
}}
This is the wikitask template for issuing commands to a RESTFUL Java WikiServer.
It uses [[Template:WikiIconTask]] for calling the WikiTask Server.
== Examples ==
=== login ===
<pre>
{{wikitask|cmd=login|input={{urlencode:{{#realname:Visitor}}}}}}
</pre>
{{wikitask|cmd=login|input={{urlencode:{{#realname:Visitor}}}}}} {{#realname:visitor}}
=== help ===
<pre>
{{wikitask|cmd=help}}
</pre>
{{wikitask|cmd=help}}
=== reset ===
<pre>
{{wikitask|cmd=reset}}
</pre>
{{wikitask|cmd=reset}}
=== debug ===
<pre>
{{wikitask|cmd=debug}}
</pre>
{{wikitask|cmd=debug}}
=== run template ===
==== sidif input ====
<source lang='xml' id='dadlovesmum'>
dad loves mum
kid loves mum
kid loves dad
kid likes granny
</source>
==== freemarker template ====
<source lang='java' id='triplegraph' >
<#assign rankdir="TB"/>
<#assign triples=tripleStore.getTriples()/>
== Triple graph ==
<graphviz format='svg'>
digraph {
rankdir="${rankdir}";
<#list triples as triple>
"${triple.subject}" -> "${triple.object}" [label="${triple.predicate}"];
</#list>
}
</graphviz>
</source>
<pre>
{{wikitask|cmd=runtemplate|input=dadlovesmum|template=triplegraph|targetpage=Dad loves mum 2015-03-14}}
</pre>
{{wikitask|cmd=runtemplate|input=dadlovesmum|template=triplegraph|targetpage=Dad loves mum 2015-03-14}}
</noinclude><includeonly>{{#switch:{{{cmd|}}}
|runtemplate={{WikiIconTask|cmd={{{cmd|help}}}|icon=play|input={{{input|}}}|params={{{params|}}}|template={{{template|}}}|dialog={{{dialog|}}}|engine={{{engine|}}}|targetpage={{{targetpage|}}}}} -> [[{{{targetpage|}}}]]
|login={{WikiIconTask|cmd={{{cmd}}}|icon=sign-in|input={{{input|}}}}}
|help={{WikiIconTask|cmd={{{cmd}}}|icon=help}}
|reset={{WikiIconTask|cmd={{{cmd}}}|icon=recycle}}
|#default={{WikiIconTask|cmd={{{cmd|help}}}|icon=wrench|input={{{input|}}}|template={{{template|}}}|engine={{{engine|}}}|targetpage={{{targetpage|}}}}}}}</includeonly>
95710e0f7ff031d4148d9065bd56b029ad290024
Template:WikiIconTask
10
99
220
140
2015-12-28T13:37:12Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:11Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:Wikitask
|next=Template:!
}}
see [[Template:Wikitask]]
<br> calls RESTFul Java WikiTask service on {{SERVERNAME}}
=== Examples===
<pre>
{{WikiIconTask|cmd=help|icon=question-circle}}
</pre>
{{WikiIconTask|cmd=help|icon=question-circle}}
<pre>
{{WikiIconTask|cmd=debug|icon=wrench}}
</pre>
{{WikiIconTask|cmd=debug|icon=wrench}}
<pre>
{{WikiIconTask|cmd=reset|icon=refresh}}
</pre>
{{WikiIconTask|cmd=reset|icon=refresh}}
=== Source ===
<source lang='php'>
<imgLink
img='{{Icon|name={{{icon|}}}|title={{{cmd|}}}}}'
target='_blank'
title='{{{cmd|}}}'
href='http://{{SERVERNAME}}:9089/wikiserver/task/{{{cmd|version}}}
?server={{urlencode:{{#sub:{{canonicalurl:{{PAGENAME}}}}|0|{{#pos:{{canonicalurl:{{PAGENAME}}}}|{{SCRIPTPATH}}/index.php/{{PAGENAMEE}}|0}}}}}}
&scriptpath={{urlencode:{{SCRIPTPATH}}}}
&contentlanguage={{CONTENTLANGUAGE}}
&page={{FULLPAGENAMEE}}
&input={{urlencode:{{{input|}}}}}
¶ms={{urlencode:{{{params|}}}}}
&template={{urlencode:{{{template|}}}}}
&dialog={{urlencode:{{{dialog|}}}}}
&engine={{{engine|}}}
&targetpage={{urlencode:{{{targetpage|}}}}}
&logo={{urlencode:{{{logo|http://web.bitplan.com/wp-content/uploads/sites/2/2013/05/mw_joomla_logo1.png}}}}}'
>
</imgLink>
</source>
=== siteurl ===
{|
!siteurl
|{{#sub:{{canonicalurl:{{PAGENAME}}}}|0|{{#pos:{{canonicalurl:{{PAGENAME}}}}|{{SCRIPTPATH}}/index.php/{{PAGENAMEE}}|0}}}}
|-
!canonicalurl
|{{canonicalurl:{{PAGENAME}}}}
|-
!PAGENAME
|{{PAGENAME}}
|-
!SERVERNAME
|{{SERVERNAME}}
|-
!SCRIPTPATH
|{{SCRIPTPATH}}
|-
|}
</noinclude><includeonly><imgLink img='{{Icon|name={{{icon|}}}|title={{{cmd|}}}}}' target='_blank' title='{{{cmd|}}}' href='http://{{SERVERNAME}}:9089/wikiserver/task/{{{cmd|version}}}?server={{urlencode:{{#sub:{{canonicalurl:{{PAGENAME}}}}|0|{{#pos:{{canonicalurl:{{PAGENAME}}}}|{{SCRIPTPATH}}/index.php/{{PAGENAMEE}}|0}}}}}}&scriptpath={{urlencode:{{SCRIPTPATH}}}}&contentlanguage={{CONTENTLANGUAGE}}&page={{FULLPAGENAMEE}}&input={{urlencode:{{{input|}}}}}¶ms={{urlencode:{{{params|}}}}}&template={{urlencode:{{{template|}}}}}&dialog={{urlencode:{{{dialog|}}}}}&engine={{{engine|}}}&targetpage={{urlencode:{{{targetpage|}}}}}&logo={{{logo|}}}'></imgLink></includeonly>
bc2dfe5f290d23caad7e8ff847c5cdba8b3f00f2
Category:Template
14
159
221
2015-12-28T13:37:14Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:14Z
wikitext
text/x-wiki
Standard Templates
5a107a1a02c878122bb015372af196522acdf28c
Category:Category
14
160
222
2015-12-28T13:37:15Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:14Z
wikitext
text/x-wiki
Pages for Categories
59a9e7a4ae6055c9f8909d012125f98d2fb053ee
File:Index.png
6
161
223
2015-12-28T13:37:16Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Link.png
6
162
224
2015-12-28T13:37:17Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Element into input.png
6
163
225
2015-12-28T13:37:18Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Component.png
6
164
226
2015-12-28T13:37:19Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Registry.png
6
165
227
2015-12-28T13:37:19Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Category Icon.png
6
166
228
2015-12-28T13:37:20Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Concept Icon.png
6
167
229
2015-12-28T13:37:20Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Help Icon.png
6
168
230
2015-12-28T13:37:21Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:List Icon.png
6
169
231
2015-12-28T13:37:22Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Icon template.png
6
170
232
2015-12-28T13:37:23Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Form icon.jpg
6
171
233
2015-12-28T13:37:23Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Java icon.png
6
172
234
2015-12-28T13:37:24Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Concept:Context
108
35
235
154
2015-12-28T13:37:26Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:24Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=Context
|pluralName=Contexts
|icon=File:Registry.png
|iconUrl=/images/d/d2/Registry.png
|documentation=A Context groups some topics like a Namespace/Package
|wikiDocumentation=A Context groups some topics like a Namespace/Package
|defaultstoremode=property
|listLimit=
|cargo=
|context=MetaModel
|storemode=property
}}
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
A Context groups some topics like a Namespace/Package
=== uml ===
<uml>
title Context
note as ContextDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as ContextNote
A Context groups some topics like a Namespace/Package
end note
class Context {
Text name
Date since
URL master
}
ContextNote .. Context
Context "context (1)" -- "topics(*)" Topic
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[Context name::+]]
|Contexts
see also
* [[List of Contexts]]
* [[Help:Context]]
* [[Concept:Context]]
* [[:Category:Context]]
* [[:Template:Context]]
* [[:Form:Context]]
topic links:
* [[:Category:Topic]]
}}
[[Category:Context]]
678c1819e1780a4bf392f49290838205ac721577
Concept:Topic
108
36
236
74
2015-12-28T13:37:29Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:27Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=Topic
|pluralName=Topics
|icon=File:Index.png
|iconUrl=/images/master/a/ae/Index.png
|documentation=A Topic is a Concept/Class/Thing/Entity
|wikiDocumentation=A Topic is a Concept/Class/Thing/Entity
|defaultstoremode=property
|listLimit=
|cargo=false
|context=MetaModel
|storemode=property
}}
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
A Topic is a Concept/Class/Thing/Entity
=== uml ===
<uml>
title Topic
note as TopicDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as TopicNote
A Topic is a Concept/Class/Thing/Entity
end note
class Topic {
Text name
Text pluralName
Page icon
URL iconUrl
Text documentation
Text wikiDocumentation
Text defaultstoremode
Number listLimit
Boolean cargo
Page context
}
TopicNote .. Topic
Topic "topic (1)" -- "properties(*)" Property
Context "context (1)" -- "topics(*)" Topic
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[Topic name::+]]
|Topics
see also
* [[List of Topics]]
* [[Help:Topic]]
* [[Concept:Topic]]
* [[:Category:Topic]]
* [[:Template:Topic]]
* [[:Form:Topic]]
topic links:
* [[:Category:Property]]
}}
[[Category:Topic]]
8ce420f7ba14417c38868400e802f1ad44e3150e
Concept:TopicLink
108
37
237
173
2015-12-28T13:37:32Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:30Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=TopicLink
|pluralName=TopicLinks
|icon=File:Link.png
|iconUrl=/images/f/fd/Link.png
|documentation=A TopicLink links two Concepts
|wikiDocumentation=A TopicLink links two [[Concept:Topic]]s
|defaultstoremode=subobject
|listLimit=
|cargo=
|context=MetaModel
|storemode=property
}}
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
A TopicLink links two [[Concept:Topic]]s
=== uml ===
<uml>
title TopicLink
note as TopicLinkDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as TopicLinkNote
A TopicLink links two Concepts
end note
class TopicLink {
Text name
Page source
Text sourceRole
Boolean sourceMultiple
Text sourceDocumentation
Page target
Text targetRole
Boolean targetMultiple
Text targetDocumentation
Boolean masterDetail
}
TopicLinkNote .. TopicLink
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[TopicLink source::+]]
|TopicLinks
see also
* [[List of TopicLinks]]
* [[Help:TopicLink]]
* [[Concept:TopicLink]]
* [[:Category:TopicLink]]
* [[:Template:TopicLink]]
* [[:Form:TopicLink]]
topic links:
}}
[[Category:TopicLink]]
f917a8cd763dc3f03e3c74f23bf64b9782ea1368
Concept:Property
108
38
238
76
2015-12-28T13:37:35Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:32Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=Property
|pluralName=Properties
|icon=File:Element_into_input.png
|iconUrl=/images/6/6a/Element_into_input.png
|documentation=a Property is a Feature/Attribute of a Topic
|wikiDocumentation=see
* https://semantic-mediawiki.org/wiki/Help:Properties_and_types
* https://semantic-mediawiki.org/wiki/Help:Special_properties
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
|defaultstoremode=property
|listLimit=
|cargo=
|context=MetaModel
|storemode=property
}}
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
see
* https://semantic-mediawiki.org/wiki/Help:Properties_and_types
* https://semantic-mediawiki.org/wiki/Help:Special_properties
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
=== uml ===
<uml>
title Property
note as PropertyDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as PropertyNote
a Property is a Feature/Attribute of a Topic
end note
class Property {
Text name
Text label
Page type
Number index
Number sortPos
Boolean primaryKey
Boolean mandatory
Text namespace
Number size
Boolean uploadable
Code defaultValue
Text inputType
Text allowedValues
Text documentation
Code values_from
Boolean showInGrid
Boolean isLink
Boolean nullable
Page topic
}
PropertyNote .. Property
Property "usedByProperties (*)" -- "smw_type(1)" SMW_Type
Topic "topic (1)" -- "properties(*)" Property
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[Property name::+]]
|Properties
see also
* [[List of Properties]]
* [[Help:Property]]
* [[Concept:Property]]
* [[:Category:Property]]
* [[:Template:Property]]
* [[:Form:Property]]
topic links:
* [[:Category:SMW_Type]]
}}
[[Category:Property]]
8a9e7089c2efb2b0f4cdaea77046c2b3e321f02d
Concept:SMW Type
108
39
239
161
2015-12-28T13:37:37Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:35Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=SMW_Type
|pluralName=SMW_Types
|icon=File:Component.png
|iconUrl=/images/4/40/Component.png
|documentation=an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
|wikiDocumentation=see
* https://semantic-mediawiki.org/wiki/Special:Types
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
|defaultstoremode=subobject
|listLimit=
|cargo=
|context=MetaModel
|storemode=property
}}
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
see
* https://semantic-mediawiki.org/wiki/Special:Types
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
=== uml ===
<uml>
title SMW_Type
note as SMW_TypeDiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as SMW_TypeNote
an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
end note
class SMW_Type {
Text type
Text documentation
URL helppage
Page typepage
Text javaType
Page usedByProperties
}
SMW_TypeNote .. SMW_Type
Property "usedByProperties (*)" -- "smw_type(1)" SMW_Type
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[SMW_Type type::+]]
|SMW_Types
see also
* [[List of SMW_Types]]
* [[Help:SMW_Type]]
* [[Concept:SMW_Type]]
* [[:Category:SMW_Type]]
* [[:Template:SMW_Type]]
* [[:Form:SMW_Type]]
topic links:
}}
[[Category:SMW_Type]]
a3ff31f54546cc900f4652103e487197c239ff1a
File:BITPlanLogo2012.svg
6
2
240
196
2015-12-28T13:37:38Z
Wf
1
Wf uploaded a new version of [[File:BITPlanLogo2012.svg]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
TopicGenerator
0
40
241
78
2015-12-28T13:37:39Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:39Z
wikitext
text/x-wiki
__TOC__
=== dialog ===
<source lang='java' id='dialog' cache='false'>
@// Copyright (c) 2015 BITPlan GmbH
@//
@// This is a Wikitask / Rythm template that
@// displays an AJAX GUI for generating SmartMediaWiki results
@//
@import org.sidif.wiki.Reference
@import org.sidif.wiki.ReferenceManager
@import org.sidif.wiki.Source
@import org.sidif.wiki.PageCache
@import org.sidif.wiki.WikiTask
@import com.bitplan.mediawiki.japi.api.Page
@import com.bitplan.mediawiki.japi.api.Rev
@include(wiki.SiDIFTemplates.defs)
@include(wiki.SiDIFTemplates.dialogdefs)
@// get a link for the given pagetitle
@def String getLink(String pageTitle, int revid) {
String link=wikiTask.getServer()+wikiTask.getScriptpath()+"/index.php?title="+urlEncode(pageTitle);
if (revid>0) {
link+="&oldid="+revid;
}
return link;
}
@// get the parameters for the wikitask
@def String getWikiTaskParams(String engine) {
String params="?server="+urlEncode(wikiTask.getServer());
params+="&scriptpath="+urlEncode(wikiTask.getScriptpath());
params+="&page="+urlEncode(wikiTask.getPageTitle());
params+="&engine="+engine;
return params;
}
@// run the given wikitask command
@def doWikiTaskCmd(String cmd, String param) {
@{
String icon="component";
String engine="Freemarker";
if ("runtemplate".equals(cmd)){ icon="media_play_green.png"; }
if ("reset".equals(cmd)) { icon="refresh"; }
if ("help".equals(cmd)) { icon="help"; }
if ("debug".equals(cmd)) { icon="wrench"; }
if ("refreshRef".equals(cmd)) { icon="refresh"; }
String params=getWikiTaskParams(engine);
}
<a href='@(cmd)@(params)'>@(stockicon(icon,48,cmd,cmd))</a>
}
@// run the given wikitask command
@def wikiTaskCmd(String cmd) {
@doWikiTaskCmd(cmd,null)
}
@// run the given wikitask command with a parameter
@def wikiTaskCmd(String cmd, String param) {
@doWikiTaskCmd(cmd,param)
}
@// add styles for the generator
@def generatorStyle(String i_____) {
@(i_____) <style type="text/css">
@(i_____) // progress text that comes with progress bars
@(i_____) // see http://stackoverflow.com/questions/12452594/how-can-i-add-label-inside-a-progress-bar-tag
@(i_____) span.progresstext {
@(i_____) font-family:'Arial';
@(i_____) position:relative;
@(i_____) top:-1.5em;
@(i_____) margin-left:50%;;
@(i_____) font-size:small;
@(i_____) }
@(i_____) </style>
}
@// scripts for generators
@def generatorScript() {
<script>
// JavaScript support for Y-Principle TopicGenerator
// convert a string to make the first char lower case
function firstToLower(string) {
return string.charAt(0).toLowerCase() + string.slice(1);
}
// get the div where responses are shown
function getResponseDiv() {
var result=document.getElementById("response");
return result;
}
// get the div where errors are shown
function getErrorDiv() {
var result=document.getElementById("errorMessage");
return result;
}
// get the checkBox jquery object with the given id
function getGeneratorElement(generatorId,postfix) {
var result=$("#"+generatorId+postfix);
return result;
}
// clear the given div
function clearDiv(div) {
div.innerHTML='';
}
// add a TextElement with the given tag and message to the given parent
function newTextElement(tag,msg) {
var newElement=document.createElement(tag);
var content = document.createTextNode(msg);
newElement.appendChild(content);
return newElement;
}
// add a message to the given div
function addMessage(div, msg) {
var newElement=newTextElement('pre',msg);
div.appendChild(newElement);
return newElement;
}
// progress on transfers from the server to the client (downloads)
// see https://developer.mozilla.org/de/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
function updateProgress (oEvent) {
if (oEvent.lengthComputable) {
var percentComplete = oEvent.loaded / oEvent.total;
// ...
} else {
// Unable to compute progress information since the total size is unknown
}
}
// show an error Message
// param errMsg: the message to show
function errorMessage(errMsg) {
var errDiv=getErrorDiv();
if (errDiv!=null) {
addMessage(errDiv,errMsg);
errDiv.style.display = 'block';
} else {
alert(errMsg);
}
}
// flag an error for the given id
function flagError(id,msg) {
setProgress(id,0,"");
var checkBox=getGeneratorElement(id,"");
var progresstext=getGeneratorElement(id,"_progress_pc");
var errorSpan=newTextElement('span','⚠ '+msg);
errorSpan.style='color:red;font-size:14px';
progresstext[0].appendChild(errorSpan);
return checkBox;
}
// handle an error that has been thrown
function handleError(err,id) {
flagError(id,err.message);
// abusing checkBox as data lookup
var checkBox=getGeneratorElement(id,"");
var errMessage=checkBox[0].name+" ERROR:"+err.code+" "+err.name+" '"+err.message+"' line:"+err.lineNumber;
errorMessage(errMessage);
}
// get the class name of the given object
function getClass(obj) {
if (typeof obj === "undefined")
return "undefined";
if (obj === null)
return "null";
return Object.prototype.toString.call(obj)
.match(/^\[object\s(.*)\]$/)[1];
}
// send the given form
function sendForm(formData,action,id) {
try {
var oReq = new XMLHttpRequest();
oReq.addEventListener('progress', updateProgress, false);
oReq.addEventListener('load', transferComplete, false);
oReq.addEventListener('error', transferFailed, false);
oReq.addEventListener('abort', transferCanceled, false);
oReq.onload = ajaxSuccess;
// http://stackoverflow.com/questions/921198/get-request-url-from-xhr-object
var xhrProto = XMLHttpRequest.prototype,
origOpen = xhrProto.open;
xhrProto.open = function (method, url, async) {
this._url = url;
this._id = id;
return origOpen.apply(this,arguments);
};
var async=true;
oReq.open('POST', action, async,id);
// important - this makes the request a non-simple request with CORS
// oReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// user defined header forces CORS?
oReq.setRequestHeader('Header-Custom-WikitaskCORS', 'OK');
oReq.setRequestHeader('Accept','application/json');
oReq.send(formData);
} catch(err) {
handleError(err,id);
}
return false; // Prevent direct form page button submit action
}
// set the progress for the given check box id
// and return the progress bar
function setProgress(checkBoxId,progress,percent) {
var checkBox=getGeneratorElement(checkBoxId,"");
var progressbar=getGeneratorElement(checkBoxId,"_progress");
var progresstext=getGeneratorElement(checkBoxId,"_progress_pc");
// console.log(progressbar);
// FIXME - do a true progress
// progressbar.val(progress);
if (progress==0) {
progressbar[0].style.display = 'none';
} else {
progressbar[0].style.display = 'block';
}
progresstext[0].textContent=percent;
return progressbar;
}
// start the generator for the given form, contextSetting, contextname, template and targetpage
function startGenerator(form,contextSettingTxt,contextname,topic,template,targetpage,id) {
var formData = new FormData(form);
formData.append('server', "@(wikiTask.getServer())");
formData.append('scriptpath', "/@(wikiTask.getScriptpath())");
formData.append('engine', 'Rythm');
formData.append('input', 'sidif');
formData.append('page','Topic');
var action=form.action;
// action=
// action="http://phobos.bitplan.com:9089/wikiserver/task/runtemplate";
formData.append('template',template);
formData.append('targetpage',targetpage);
formData.append('id',id);
// set the params from the contextSettings
// e.g. wikiId:capri,sidifInput:Topic#sidif,contextName:MetaModel,maintopicName:Topic
var contextSetting=JSON.parse(contextSettingTxt);
contextSetting.maintopicName=topic;
var contextSettingJson=JSON.stringify(contextSetting)
formData.append('params',contextSettingJson);
sendForm(formData,action,id);
}
// start the generators for the given form
function startGenerators(form) {
clearDiv(getErrorDiv());
clearDiv(getResponseDiv());
var generatorchecks= $(".checkBoxClass:checked");
generatorchecks.each(function(){
setProgress(this.id,1,"");
// targetPage is the name of the checkbox
var template=this.value;
var ytname=$(this).attr("yt")
var target=$(this).attr("target");
var contextname=$(this).attr("context");
var contextSetting=$(this).attr("contextsetting");
var id=this.id;
// split e.g. Template_Context;
var split = id.split('__');
// FIXME use yt and topic and generator objects instead
var topic=split[1];
startGenerator(form,contextSetting,contextname,topic,template,target,id);
});
return false;
}
// get SiDIF
function getSiDIF(lbutton) {
// {{wikitask
// |cmd=runtemplate
// |engine=Rythm
// |input=sidif
// |dialog=TopicGenerator#dialog
// |template=TopicGenerator#template
// |params=tripleStoreMode:SMW,contextName:{{{context|}}}
// |targetpage=TopicGenerator2015/{{{context|}}}}}
var contextSetting=JSON.parse(lbutton.value);
var params='@(getWikiTaskParams("Rythm"))';
var wikiTaskLink="runtemplate"+params;
wikiTaskLink+="&input="+encodeURIComponent(contextSetting.sidifInput);
wikiTaskLink+="&dialog="+encodeURIComponent("TopicGenerator#dialog");
wikiTaskLink+="&template="+encodeURIComponent("TopicGenerator#template");
wikiTaskLink+="&targetpage="+encodeURIComponent("TopicGenerator2015/"+contextSetting.contextName);
wikiTaskLink+="¶ms=tripleStoreMode:"+contextSetting.tripleStoreMode;
wikiTaskLink+=",contextName:"+encodeURIComponent(contextSetting.contextName);
wikiTaskLink+=",sidifInput:"+encodeURIComponent(contextSetting.sidifInput);
// console.log(wikiTaskLink);
window.location.replace(wikiTaskLink);
}
// show the given event with the given message
function showEvent(evt, msg) {
var doshow=true;
if (evt.target instanceof XMLHttpRequest) {
var xhr=evt.target;
msg+=" target="+xhr._url;
msg+=" responseType="+xhr.responseType;
msg+=" status="+xhr.status;
if (xhr.status==200) {
doshow=false;
}
}
if (doshow) {
errorMessage(evt.type+" "+getClass(evt.target)+": "+msg);
}
return evt.target;
}
// event when the transfer was successfully completed
function ajaxSuccess () {
var json=this.responseText;
// console.log(json);
try {
var jsonResult=JSON.parse(json);
// console.log(jsonResult);
var errorMsg=jsonResult.errorMsg;
if (errorMsg!=null) {
setProgress(jsonResult.id,100,"");
addMessage(getResponseDiv(),errorMsg);
} else {
setProgress(jsonResult.id,0,"");
var checkBox=getGeneratorElement(jsonResult.id,"");
var progresstext=getGeneratorElement(jsonResult.id,"_progress_pc");
var target=$("#"+jsonResult.id).attr("target");
var targetRef=newTextElement('a',target);
targetRef.href=jsonResult.targetUrl;
targetRef.style='font-size:12px';
var doneSpan=newTextElement('span','✓');
doneSpan.style='color:green;font-size:14px';
progresstext[0].appendChild(targetRef);
progresstext[0].appendChild(doneSpan);
var deltaRef=newTextElement('a','Δ');
deltaRef.style='font-size:12px';
var revid=$("#"+jsonResult.id+"_rev").attr("revid");
deltaRef.href=jsonResult.targetUrl+"?diff=cur&oldid="+revid;
progresstext[0].appendChild(deltaRef);
}
} catch (ex) {
alert(ex.message+"\njson="+json);
}
}
// event when transfer is complete
function transferComplete(evt) {
showEvent(evt,"transfer complete");
}
// event when the transfer failed
function transferFailed(evt) {
var xhr=showEvent(evt,"transfer failed");
if (xhr instanceof XMLHttpRequest) {
flagError(xhr._id,"transfer failed");
}
}
// event when the transer was cancelled
function transferCanceled(evt) {
showEvent(evt,"transfer canceled");
}
</script>
}
@// run the selected generators
@def runGenerators() {
@{
String icon="media_play_green";
String cmd="run";
}
<button type='submit' name='@cmd' value='@cmd' title='@cmd' onclick="return startGenerators(this.form);">
@(stockicon(icon,32,cmd,cmd))
</button>
}
@// display the given Reference as a row
@def referenceRow(Reference ref) {
<tr>
<td>@(wikiTaskCmd("refreshRef",ref.getReferenceId()))</td>
<td><a href='@(ref.getUrl())'>@(ref.getReferenceId())</a></td>
<td>@(ref.getReferenceType().toString())</td>
<td>@(ref.getAge())</td>
<td>@(ref.isAvailable())</td>
<td>@if(ref.getContent()) { @(ref.getContent().length()) } else { - }</td>
</tr>
}
@// display the given Source as a row
@def sourceRow(Source source) {
<tr><td></td><td>@(source.getId())</td><td>@(source.getPageTitle())</td><td>@(source.getAge())</td><td>@(source.isCache())</td><td>@(source.getSource().length())</td></tr>
}
@// display the table of PageCache entries
@def pageCacheTable(PageCache pageCache,String indent) {
@(indent)<table class="table tablesorter sortable">
@(indent)<thead>
@(indent) <tr><th>page</th><th>rev</th><th>timestamp</th></tr>
@(indent)</thead>
@(indent)<tbody>
@{
List<String> pageTitles = new ArrayList<String>(pageCache.getCachedPages().keySet());
}
@for (String pageTitle:pageTitles) {
@{
Page page=pageCache.getCachedPages().get(pageTitle);
Rev rev = PageCache.getPageRevision(page);
int revid=-1;
String timeStamp="?";
if (rev!=null) {
revid=rev.getRevid();
timeStamp=rev.getTimestamp();
}
}
@(indent) <tr><td>@showLink(pageTitle, 0, "Cache0_"+revid, "")</td><td>@showLink(pageTitle, revid, "Cache_"+revid, "")</td><td>@(timeStamp)</td></tr>
}
@(indent)</tbody>
@(indent)</table>
}
@// display the table of references and sources
@def referenceTable(ReferenceManager rm) {
<table class="table tablesorter sortable">
<thead>
<tr><th></th><th>id</th><th>type</th><th>age</th><th>cache</th><th>size</th></tr>
</thead>
<tbody>
@for (Reference reference:rm.referenceByReferenceId.values()) {
@referenceRow(reference)
@if (rm.getSourceById().get(reference.getReferenceId())!=null) {
<tr><th colspan='3'>Sources by Id</th>
@for (Source source:wikiTask.referenceManager.getSourceById().get(reference.getReferenceId()).values()) {
@sourceRow(source)
}
}
@if (rm.getSourceBySection().get(reference.getAnchor())!=null) {
<tr><th colspan='3'>Sources by Section</th>
@for (Source source:wikiTask.referenceManager.getSourceBySection().get(reference.getAnchor()).values()) {
@sourceRow(source)
}
}
}
</tbody>
</table>
}
@// show a link for the given pageTitle and revision id
@def showLink(String pageTitle,int revid, String id, String indent) {
@{
// default is unknown revision red link / create page approach
String revname="click to create";
String style="style='color:red'";
if (revid>=0) {
style="style='font-size: 12px'"; // normal link but small font
revname="Rev "+revid;
}
String link=getLink(pageTitle,revid);
}
@(indent)<a href='@(link)' id='@(id)' revid='@(revid)' title='@(revname)' @(style)>@(pageTitle)</a>
}
@// show the page status link
@def pageStatusLink(Topic topic,YT yt,Map<String, Page> statusMap) {
@{
String pageTitle=yt.getPageTitle(topic);
Page page=statusMap.get(pageTitle);
int revid = -1;
if (page != null) {
Rev rev = PageCache.getPageRevision(page);
if (rev!=null) {
revid = rev.getRevid();
}
}
}
@showLink(pageTitle, revid, yt.name+"__"+topic.name+"_rev", " ")
}
@// show a single row of generators for a given domain topic
@def topicRow(ContextSetting contextSetting,Context context,Topic topic,Map<String, Page> statusMap,YT[] yts, int rownum) {
<tr>
<th>@(topic.name)<div style="margin: 0 auto; width: 48px"><img src='@(wikiTask.getServer())@(wikiTask.getScriptpath())@(topic.iconUrl)' alt='@(topic.name)'></div></th><th><label><input class='checkboxSelect' type='checkbox' id="select_row_@(rownum)" title='select row'/>→</label></th>
@{ int colnum=0;}
@for(YT yt:yts) {
<td>
<label for='@(yt.name)_@(topic.name)'>
<input type="checkbox" class="checkBoxClass row_@(rownum) col_@(colnum)" contextsetting='@contextSetting.toJson()' context='@(context.name)' target='@yt.getPageTitle(topic)' yt='@(yt.name)' topic='@(topic.name)' id='@(yt.name)__@(topic.name)' name='@(yt.name):@(topic.name)' title='generate @(yt.getPageTitle(topic))' value="SiDIFTemplates#@(yt.template)">
</label>
</td>
<td>
@pageStatusLink(topic,yt,statusMap)
<progress id='@(yt.name)__@(topic.name)_progress' max='10' title='@(yt.name):@(topic.name)' style='display:none'></progress>
<span id='@(yt.name)__@(topic.name)_progress_pc' class='progresstext'></span>
</td>
@{ colnum++;}
}
</tr>
}
@// display the generators
@// sortable disabled - doesn't seem to work with selectAll logic
@def showGeneratorTasks(WikiTask wikiTask,ContextSetting contextSetting) {
@{
Context context=ContextFactory.getInstance().getContext(contextSetting);
List<String> pageTitles = new ArrayList<String>();
if (context!=null) {
for (YT yt : YT.yts) {
for (Topic topic : context.getTopics()) {
pageTitles.add(yt.getPageTitle(topic));
}
}
}
Map<String, Page> statusMap = wikiTask.referenceManager.getPageCache()
.updatePageStatus(pageTitles, true);
}
<h3>@(contextSetting.getTripleStoreMode())</h3>
@if (context) {
<form action='#'>
<table class="table tablesorter tablesorter-blue">
<thead>
<tr>
<th width='12%'>@(runGenerators())</th>
<th>Targets
</th>
@for(YT yt:YT.yts) {
<th colspan='2' style="text-align:center">@(yt.label)</th>
}
</tr>
@{ int colnum=0;}
<tr>
<th class='{sorter: false}'>Topics<br>
<div id='reloadbuttoncontainer' style='width:80px;display:inline-block' >
<button onclick='getSiDIF(this);return false;' value='@ContextSetting.fromWikiTaskAsSiDIF(wikiTask).toJson()' title='reload from SiDIF' style='display:inline-block'>
<img src='/stockicons/16x16/shadow/arrow_down_blue.png'/>
</button>
<button onclick='getSiDIF(this);return false;' value='@contextSetting.asSMWContextSetting().toJson()' title='reload from SMW Triples' style='display:inline-block' >
<img src='/stockicons/16x16/shadow/arrow_down_green.png'/>
</button>
</div>
</th>
<th class='{sorter: false}'><label><input type="checkbox" id="selectall" name="selectall" title='select all'/>↘</label></th>
@for(YT yt:YT.yts) {
<th class='{sorter: false}' width='14px'><label><input class='checkboxSelect' type='checkbox' id='select_col_@(colnum)' title='select all @(yt.label)'/>↓</label></th><th width='10%'><div style="margin: 0 auto; width: 48px"><img src='@(wikiTask.getServer())@(wikiTask.getScriptpath())@(yt.iconUrl)' alt='@(yt.label)'></div></th>
@{ colnum++;}
}
</tr>
</thead>
<tbody id='generatortasktable'>
@{ int rownum=0;}
@for (Topic topic:context.getTopics()) {
@topicRow(contextSetting,context,topic,statusMap,YT.yts,rownum++)
}
</tbody>
</table>
</form>
}
}
@// show the HTML Page for the given context
@def showHtml(ContextSetting contextSetting) {
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<title>@(title)</title>
@jquery(" ")
@style(" ")
@selectall()
@generatorStyle(" ")
@generatorScript()
</head>
<body>
<div id='container' class='container'>
<div id="dialog" title="@(title)" >
@(wikiTaskCmd("reset"))@(wikiTaskCmd("help"))@(wikiTaskCmd("debug"))
<a href='@(wikiTask.getTargetLink().getUrl())'>@(wikiTask.getTargetpage())</a>
called from <a href='@(wikiTask.getServer())@(wikiTask.getScriptpath())/index.php/@(wikiTask.getPageTitle())'>@(wikiTask.getPageTitle())</a> (@(wikiTask.getDuration()) msecs)
<div id="tabs">
<ul>
<li><a href="#generators">Generators</a></li>
<li><a href="#pagecache">Page-Cache</a></li>
<li><a href="#references">References</a></li>
</ul>
<div id="generators">
@(showGeneratorTasks(wikiTask,contextSetting))
</div>
<div id="pagecache">
@pageCacheTable(wikiTask.referenceManager.getPageCache()," ")
</div>
<div id="references">
@referenceTable(wikiTask.referenceManager)
</div>
</div>
<div id='errorMessage' style='color:red;font-size: 14px;border:1px solid red;display:none'></div>
<div id='response' style='font-size: 14px;border:1px solid blue'></div>
</div>
</div>
@dialog(" ")
</body>
</html>
}
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@showHtml(contextSetting)
</source>
=== template ===
<source lang='java' id='template'>
@include(wiki.SiDIFTemplates.defs)
@// handle error
@def handleError(Throwable error) {
error @(error.getClass().getName()): @(error.getMessage())
=== stacktrace ===
<pre>
@getStackTrace(error)
</pre>
}
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
Context context=ContextFactory.getInstance().getContext(contextSetting);
Context smwContext=ContextFactory.getInstance().getContext(contextSetting.asSMWContextSetting());
String contextName=contextSetting.getContextName();
}
@if (context==null) {
Context (sidif): @(contextName) not found in SiDIF
} else {== SiDIF ==
=== @(contextName) SiDIF ===
<pre>
@(context.asSiDIF())
</pre>
=== @(contextName) JSON ===
<pre>
@(context.toJson())
</pre>
}
@if (smwContext==null) {
Context (smw): @(contextName) not found in SMW triples of Wiki
} else {
== SMW ==
=== @(contextName) SiDIF ===
<pre>
@(context.asSiDIF())
</pre>
=== @(contextName) JSON ===
<pre>
@(context.toJson())
</pre>
}
</source>
397362bced77662632f8e69ea1998ec1bfda1698
GraphViz
0
42
242
82
2015-12-28T13:37:41Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:40Z
wikitext
text/x-wiki
== Graphviz ==
=== Documentation ===
* http://www.graphviz.org
* http://www.graphviz.org/Documentation/dotguide.pdf
* http://www.tonyballantyne.com/graphs.html
* http://www.graphviz.org/doc/fontfaq.txt
* http://stackoverflow.com/questions/tagged/graphviz
* http://graphs.grevian.org/reference
==== Mediawiki Graphviz extension ====
* https://www.mediawiki.org/wiki/Extension:GraphViz
=== Fiddles ===
* http://sandbox.kidstrythisathome.com/erdos/
* http://www.webgraphviz.com/
=== Examples ===
==== Graph ====
<source lang='php'>
<graphviz format='svg'>
graph graphname {
Stakeholder -- Requirements;
Requirements -- Samplecases;
Requirements -- Model;
Model -- Code;
}
</graphviz>
</source>
<graphviz format='svg'>
graph graphname {
Stakeholder -- Requirements;
Requirements -- Samplecases;
Requirements -- Model;
Model -- Code;
}
</graphviz>
==== Hierarchy ====
<source lang='php'>
<graphviz>
digraph hierarchy {
nodesep=1.0 // increases the separation between nodes
node [color=Red,fontname=Courier,shape=box] //All nodes will this shape and colour
edge [color=Blue, style=dashed] //All the lines look like this
Model->{Package1 Package2 System}
Package1->{Class1 Class2}
System->Subsystem
{rank=same;Subsystem Class1 Class2} // Put them on the same level
}
</graphviz>
</source>
<graphviz>
digraph hierarchy {
nodesep=1.0 // increases the separation between nodes
node [color=Red,fontname=Courier,shape=box] //All nodes will this shape and colour
edge [color=Blue, style=dashed] //All the lines look like this
Model->{Package1 Package2 System}
Package1->{Class1 Class2}
System->Subsystem
{rank=same;Subsystem Class1 Class2} // Put them on the same level
}
</graphviz>
==== HTML labels ====
<source lang='php'>
digraph G {
"Record" [ label=<<table>
<tr>
<td>A</td>
<td bgcolor='#00CC11'>B</td>
</tr>
</table>
>
];
}
</source>
<graphviz>
digraph G {
"Record" [ label=<<table>
<tr>
<td>A</td>
<td bgcolor='#00CC11'>B</td>
</tr>
</table>
>
];
}
</graphviz>
==== UML ====
<source lang='php'>
digraph obj{
nodesep=1.0 // increases the separation between nodes
node[shape=record, color="#FF8000", fontname = "Technical"];
rankdir="BT";
teacher [label = "{<f0> Teacher|<f1> name\n |<f2> \n }"];
course [label = "{<f0> Course|<f1>title \n |<f2> \n }"];
student [label = "{<f0> Student|<f1>name \n |<f2> \n }"];
lesson [label = "{<f0> Lesson |<f1> \n |<f2> \n }"];
tutorial [label = "{<f0> Tutorial|<f1> \n |<f2> \n }"];
assessment[label = "{<f0> Assessment|<f1> \n |<f2> \n }"];
coursework [label = "{<f0> Coursework|<f1> \n |<f2> \n }"];
exam [label = "{<f0> Exam|<f1> \n |<f2> \n }"];
teacher->course [dir="forward",arrowhead="none",arrowtail="normal",headlabel=" 1",taillabel=" 1.."];
student->course [dir="forward",arrowhead="none",arrowtail="normal",headlabel=" 1",taillabel=" 1.."];
lesson->course [dir="forward",arrowhead="diamond",arrowtail="normal"];
tutorial->course [dir="forward",arrowhead="diamond",arrowtail="normal"];
assessment->course [dir="forward",arrowhead="diamond",arrowtail="normal"];
coursework->assessment;
exam->assessment;
{rank=same; teacher course student};
}
</source>
<graphviz>
digraph obj{
nodesep=1.0 // increases the separation between nodes
node[shape=record, color="#FF8000", fontname = "Technical"];
rankdir="BT";
teacher [label = "{<f0> Teacher|<f1> name\n |<f2> \n }"];
course [label = "{<f0> Course|<f1>title \n |<f2> \n }"];
student [label = "{<f0> Student|<f1>name \n |<f2> \n }"];
lesson [label = "{<f0> Lesson |<f1> \n |<f2> \n }"];
tutorial [label = "{<f0> Tutorial|<f1> \n |<f2> \n }"];
assessment[label = "{<f0> Assessment|<f1> \n |<f2> \n }"];
coursework [label = "{<f0> Coursework|<f1> \n |<f2> \n }"];
exam [label = "{<f0> Exam|<f1> \n |<f2> \n }"];
teacher->course [dir="forward",arrowhead="none",arrowtail="normal",headlabel=" 1",taillabel=" 1.."];
student->course [dir="forward",arrowhead="none",arrowtail="normal",headlabel=" 1",taillabel=" 1.."];
lesson->course [dir="forward",arrowhead="diamond",arrowtail="normal"];
tutorial->course [dir="forward",arrowhead="diamond",arrowtail="normal"];
assessment->course [dir="forward",arrowhead="diamond",arrowtail="normal"];
coursework->assessment;
exam->assessment;
{rank=same; teacher course student};
}
</graphviz>
90482c904d368dc4f33c92a8c338e8f7ef3a8145
Rythm
0
49
243
89
2015-12-28T13:37:41Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:41Z
wikitext
text/x-wiki
=== What is Rythm? ===
The {{Link|target=http://rythmengine.org|title=Rhythm template engine}} is inspired by the syntax of
{{Link|target=http://weblogs.asp.net/scottgu/introducing-razor|title=Microsoft's Razor ViewEngine for Asp.Net}}
It supports java code right in the templates
=== Links ===
* {{Link|target=http://stackoverflow.com/tags/rythm|title=Rythm questions on stackoverflow}}
* {{Link|target=http://fiddle.rythmengine.com/#/all_demos|title=Rythm fiddle with demos}}
* {{Link|target=https://github.com/greenlaw110/Rythm/issues|title=Issues}}
=== Examples ===
*http://partner.bitplan.com/index.php/Example_WF_ZQuestion/questionsnew
*http://partner.bitplan.com/index.php/Example_ZQuestion
=== Author ===
{{Link|target=Green Luo}}
=== WhatLinksHere ===
{{WhatLinksHere}}
34235ae52f699b523244c3b2e60069c701fd52c9
Freemarker
0
173
244
2015-12-28T13:37:42Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:42Z
wikitext
text/x-wiki
Freemarker is one of the Java based template engines being used by the MediaWikiBotJ RESTful Java server
=== Documentation ===
* http://freemarker.org
* http://freemarker.org/docs/ref_directive_if.html
* http://freemarker.org/docs/ref_directive_macro.html
=== WhatLinksHere ===
{{WhatLinksHere}}
c7cd7f0c2363d1d1374bbdb2ddd0bbe03d537b03
Property:IsA
102
174
245
2015-12-28T13:37:43Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:42Z
wikitext
text/x-wiki
{{FULLPAGENAME}} is a Property of type [[Has type::Text]] being used internally by {{ProfiWiki}} in the {{Link|target=MetaModel}} Context.
e221cc2171365e41c45a73625564df2f5ee1bc32
Template:ProfiWiki
10
175
246
2015-12-28T13:37:43Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:43Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:PdfBook
|next=Template:Sidif
}}
This is the "ProfiWiki" template. It shows a link to the ProfiWiki website
=== Example ===
<pre>
{{ProfiWiki}}
</pre>
{{ProfiWiki}}
[[Category:Template]]</noinclude><includeonly>{{Link|target=http://www.profiwiki.de|title=ProfiWiki}}</includeonly>
186389758c9e43311ce379ae0b597a28d4ab0477
ProfiWikiContext
0
176
247
2015-12-28T13:37:45Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:44Z
wikitext
text/x-wiki
{{Context
|name=ProfiWikiContext
|since=2015/01/13
|master=http://master.bitplan.com/index.php/ProfiWikiContext
|storemode=property
}}
{{Context
|name=ProfiWikiContext
|storemode=none
|viewmode=masterdetail
}}
= WikiTask =
{{ContextWikitask
|context=ProfiWikiContext
}}
= sidif =
<source lang='java' id='sidif'>
#
# Context:ProfiWikiContext
#
ProfiWikiContext isA Context
"ProfiWikiContext" is name of it
#
#Fixme
#
Fixme isA Topic
"Fixme" is name of it
"Fixmes" is pluralName of it
"I mark something that needs to be fixed optionally with what needs to be done" is documentation of it
"I mark something that needs to be fixed optionally with what needs to be done" is wikiDocumentation of it
"File:FixmeIcon.png" is icon of it
"/images/e/e3/FixmeIcon.png" is iconUrl of it
"subobject" is defaultstoremode of it
false is cargo of it
"ProfiWikiContext" is context of it
Fixme_done addsTo it
Fixme_todo addsTo it
# properties of Fixme
# property done
Fixme_done isA Property
"done" is name of it
"done" is label of it
"Boolean" is type of it
1 is index of it
false is primaryKey of it
true is mandatory of it
false is uploadable of it
"false" is defaultValue of it
"Has this been done?" is documentation of it
false is showInGrid of it
false is isLink of it
"Fixme" is topic of it
# property todo
Fixme_todo isA Property
"todo" is name of it
"todo" is label of it
"Text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"What needs to be done to get this fixed?" is documentation of it
false is showInGrid of it
false is isLink of it
"Fixme" is topic of it
</source>
<headertabs/>
2db96d522bcd6f4b30fe8ce5903cf9d4aec52e04
Property:Language code
102
177
248
2015-12-28T13:37:46Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:45Z
wikitext
text/x-wiki
This property is used to provide a '''language code''' for internationalising pages (being a [[has type::Text]]).
See {{Link|target=Template:Language}} how to get multi-language versions of a page
The values should be standard abbreviations for languages, such as "en", "de" or "Zh-tw". Pages without such a code are usually English.
<span class='lang-de'>de=German</span>
<span class='lang-en'>en=English</span>
<span class='lang-es'>es=Spanish</span>
<span class='lang-fr'>fr=French</span>
<span class='lang-ja'>ja=Japanese</span>
<span class='lang-nl'>nl=Dutch</span>
<span class='lang-ru'>ru=Russian</span>
<span class='lang-zh-hans'>zh-hans=Chinese</span>
<span class='lang-uk'>uk=Ucraine</span>
9e6825bf16ed935d2502bd6cb788e0a8e88685c7
Property:Fixme todo
102
178
249
2015-12-28T13:37:46Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:46Z
wikitext
text/x-wiki
{{Property
|name=todo
|label=todo
|documentation=What needs to be done to get this fixed?
|type=Special:Types/Text
|index=2
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Fixme
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
171deb6aec9ada98d7216af5ba858ccb66a98270
Property:Fixme done
102
179
250
2015-12-28T13:37:47Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:47Z
wikitext
text/x-wiki
{{Property
|name=done
|label=done
|documentation=Has this been done?
|type=Special:Types/Boolean
|index=1
|sortPos=
|primaryKey=false
|mandatory=true
|namespace=
|size=
|uploadable=false
|defaultValue=false
|inputType=
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Fixme
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
45010bfdb32a2bfb6b29bd9798020a5a36ea5d13
Template:Fixme
10
180
251
2015-12-28T13:37:48Z
Wf
1
transfered by WikiBackup wikiTask at 2015-12-28T13:37:47Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:Done
|next=Template:HideSideBar
}}
This is the "Fixme" template.
It should be called in the following format:
<pre>
{{Fixme
|done=
|todo=
}}
</pre>
{{Fixme|todo=change so that empty done parameter sets SMW done property as "false" and Fixme's with no attributes show up in the List of Fixmes|done=false}}
{{Fixme|todo=explain me|done=false}}
Edit the page to see the template text.
</noinclude><includeonly>{| class="wikitable"
! done
| [[Fixme_done::{{{done|}}}]]
|-
! todo
| [[Fixme_todo::{{{todo|}}}]]
|}
</includeonly>
48332bb163c62d94d263b8418abac0a4b9b0e789
File:FixmeIcon.png
6
181
252
2015-12-28T13:37:49Z
Wf
1
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:SMWMakeGoodDebugging.mp4
6
182
253
2015-12-28T16:36:34Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
SMW PHPUnit Test Debugging
0
183
254
2015-12-28T16:38:04Z
Wf
1
Created page with "<video></video>"
wikitext
text/x-wiki
<video></video>
8cfcba2b4874347ddce301515b250a2977b7dd9c
255
254
2015-12-28T16:40:30Z
Wf
1
wikitext
text/x-wiki
<HTML5video width="640" height="480" autoplay="true">Blue_Whale</HTML5video>
5f3311106dfbdddf116825f3d9ccaee2b2e8e937
256
255
2015-12-28T16:46:04Z
Wf
1
wikitext
text/x-wiki
<HTML5video width="640" height="480" autoplay="true">SMWMakeGoodDebugging</HTML5video>
9fdb723d26f436edcc8e3913a7597a6328708a36
257
256
2015-12-28T16:47:24Z
Wf
1
wikitext
text/x-wiki
<HTML5video width="640" height="480" autoplay="true">SMWMakeGoodDebugging</HTML5video>
a8c6606de7f214825fcc8b589e01df5572a82dfd
SMW PHPUnit Test Debugging
0
183
258
257
2015-12-28T16:48:06Z
Wf
1
wikitext
text/x-wiki
see https://www.semantic-mediawiki.org/wiki/User:WolfgangFahl/Workdocumentation_2015-12-27#tab=Semantic_Mediawiki_Debugging
<HTML5video width="640" height="480" autoplay="true">SMWMakeGoodDebugging</HTML5video>
f8ad152a1e4554114966b7da04997c40144428bc
259
258
2015-12-28T16:48:16Z
Wf
1
wikitext
text/x-wiki
see https://www.semantic-mediawiki.org/wiki/User:WolfgangFahl/Workdocumentation_2015-12-27#tab=Semantic_Mediawiki_Debugging<br>
<HTML5video width="640" height="480" autoplay="true">SMWMakeGoodDebugging</HTML5video>
9ca3042f7acb50df5d007e100a829309104ae5dc
Main Page
0
1
262
193
2016-01-17T15:46:57Z
Wf
1
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right]]
=== What is a ProfiWiki ?===
* Structured and unstructured content
* Easy search
* Quick data entry and linking
* Team collaboration
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|100px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|100px]]
==== Make the ProfiWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
db791ba7faa56092053a84bb42c1cc2d9ef3b853
263
262
2016-01-17T15:47:32Z
Wf
1
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right|link=ProfiWiki]]
=== What is a [[ProfiWiki]] ?===
* Structured and unstructured content
* Easy search
* Quick data entry and linking
* Team collaboration
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|100px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|100px]]
==== Make the ProfiWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
ce6d5dbca4e82695e495c16be83412636f5d623e
300
263
2016-01-30T04:35:33Z
Wf
1
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right|link=ProfiWiki]]
=== What is a [[ProfiWiki]] ?===
* Structured and unstructured content
* Easy search
* Quick data entry and linking
* Team collaboration
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|100px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|100px]]
==== Make the ProfiWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
8b5a9ad90153aaa93b51af467fcb280568a108d4
ProfiWiki
0
185
264
2016-01-17T15:51:47Z
Wf
1
Created page with "= Professional Wiki ="
wikitext
text/x-wiki
= Professional Wiki =
1db39f5d70a95380d6ddfbf6420a51c2c9927136
265
264
2016-01-17T15:56:12Z
Wf
1
wikitext
text/x-wiki
<div style="font-size:40px">
Professional Wiki
</div>
32ad58ecd91cf865fab1c1af3c4e26387a1e735d
266
265
2016-01-17T15:57:15Z
Wf
1
wikitext
text/x-wiki
<div style="font-size:24px">
Professional Wiki for your Enterprise
Why use a "me to" product if you can have the original?
</div>
4970afd86bb29c99c0d9aa9076ba157e61c3e012
267
266
2016-01-17T15:58:39Z
Wf
1
wikitext
text/x-wiki
<div style="font-size:24px">
Professional Wiki for your Enterprise
ProfiWiki is based on MediaWiki - you get the original proven technology with all it's features and possible extensions.
</div>
447a249f037fb3e82fad1ad87cf4474becc105f7
268
267
2016-01-17T15:59:01Z
Wf
1
wikitext
text/x-wiki
<div style="font-size:24px;font-color:blue">
Professional Wiki for your Enterprise
*ProfiWiki is based on MediaWiki - you get the original proven technology with all it's features and possible extensions.
</div>
09b2b9ea7f12139104cde4706b145b778c805d15
269
268
2016-01-17T15:59:42Z
Wf
1
wikitext
text/x-wiki
<div style="font-size:24px;color:#FF8000">
Professional Wiki for your Enterprise
*ProfiWiki is based on MediaWiki - you get the original proven technology with all it's features and possible extensions.
</div>
6f7199802016e84928703dbea9caed21f86911e2
270
269
2016-01-17T16:00:33Z
Wf
1
wikitext
text/x-wiki
<div style="font-size:24px;color:#FF8000">
Professional Wiki for your Enterprise
*ProfiWiki is based on [[File:MediaWikiLogo.png|100px]] - you get the original proven technology with all it's features and possible extensions.
</div>
876a50017a2786928711c559bca160f88ee65291
271
270
2016-01-17T16:02:38Z
Wf
1
wikitext
text/x-wiki
<div style="font-size:24px;color:#FF8000">
Professional Wiki for your Enterprise
*ProfiWiki is based on [[File:MediaWikiLogo.png|100px]]
</div>
== Why use the original MediaWiki? ==
* there are some 2.500 {{Link|target=https://www.mediawiki.org/wiki/Category:All_extensions|title=Extensions}} available
afac6559713c3e0710b1623b8fbb176fc3b8a1be
272
271
2016-01-17T16:10:06Z
Wf
1
wikitext
text/x-wiki
<div style="font-size:24px;color:#FF8000">
Professional Wiki for your Enterprise
*ProfiWiki is based on [[File:MediaWikiLogo.png|100px]]
</div>
== Why use the original MediaWiki? ==
* there are some 2.500 {{Link|target=https://www.mediawiki.org/wiki/Category:All_extensions|title=Extensions}} available
* it is free (as in free beer)
* it is free (as in OpenSource)
* the WikiMedia Foundation keeps maintaining it as the infrastucture for {{Link|target=http://www.wikipedia.org|title=WikiPedia}}
597065e08fef6b940278e01fb720a70c09f7080e
273
272
2016-01-17T16:12:46Z
Wf
1
wikitext
text/x-wiki
<div style="font-size:24px;color:#FF8000">
Professional Wiki for your Enterprise
ProfiWiki is based on [[File:MediaWikiLogo.png|100px|link=http://www.mediawiki.org]]
</div>
== Why use the original MediaWiki? ==
* there are some 2.500 {{Link|target=https://www.mediawiki.org/wiki/Category:All_extensions|title=Extensions}} available
* it is free (as in free beer)
* it is free (as in OpenSource)
* the WikiMedia Foundation keeps maintaining it as the infrastucture for {{Link|target=http://www.wikipedia.org|title=WikiPedia}}
<div class="bitplanorange">
ProfiWiki is based on [[File:SemanticMediaWikiLogo.png|100px|link=http://www.semantic-mediawiki.org]]
</div>
f3ab5afc6e07a8c51fb6d7a55e5d36feb35d10e2
275
273
2016-01-17T16:16:53Z
Wf
1
wikitext
text/x-wiki
<div style="font-size:24px;color:#FF8000">
Professional Wiki for your Enterprise
</div>
<div class="bitplanorange">
ProfiWiki is based on [[File:MediaWikiLogo.png|100px|link=http://www.mediawiki.org]]
</div>
== Why use the original MediaWiki? ==
* there are some 2.500 {{Link|target=https://www.mediawiki.org/wiki/Category:All_extensions|title=Extensions}} available
* it is free (as in free beer)
* it is free (as in OpenSource)
* the WikiMedia Foundation keeps maintaining it as the infrastucture for {{Link|target=http://www.wikipedia.org|title=WikiPedia}}
<div class="bitplanorange">
ProfiWiki is based on [[File:SemanticMediaWikiLogo.png|100px|link=http://www.semantic-mediawiki.org]]
</div>
93489dd328cf6f16afa8ef632b46b38fda98887b
276
275
2016-01-17T16:22:41Z
Wf
1
wikitext
text/x-wiki
<div style="font-size:24px;color:#FF8000">
Professional Wiki for your Enterprise
</div>
<div class="bitplanorange">
ProfiWiki is based on [[File:MediaWikiLogo.png|100px|link=http://www.mediawiki.org]]
</div>
== Why use the original MediaWiki? ==
* there are some 2.500 {{Link|target=https://www.mediawiki.org/wiki/Category:All_extensions|title=Extensions}} available
* there are many different skins available
* it is free (as in free beer)
* it is free (as in OpenSource)
* the WikiMedia Foundation keeps maintaining it as the infrastucture for {{Link|target=http://www.wikipedia.org|title=WikiPedia}}
Seeing is believing ...
<youtube>U1zBJO_aIvc</youtube>
<div class="bitplanorange">
ProfiWiki is based on [[File:SemanticMediaWikiLogo.png|100px|link=http://www.semantic-mediawiki.org]]
</div>
6b0ed301f1bf4770ec955ce27d6d9a99e2123715
277
276
2016-01-17T16:24:02Z
Wf
1
/* Why use the original MediaWiki? */
wikitext
text/x-wiki
<div style="font-size:24px;color:#FF8000">
Professional Wiki for your Enterprise
</div>
<div class="bitplanorange">
ProfiWiki is based on [[File:MediaWikiLogo.png|100px|link=http://www.mediawiki.org]]
</div>
== Why use the original MediaWiki? ==
* there are some 2.500 {{Link|target=https://www.mediawiki.org/wiki/Category:All_extensions|title=Extensions}} available
* there are many different skins available
* it is free (as in free beer)
* it is free (as in OpenSource)
* the WikiMedia Foundation keeps maintaining it as the infrastucture for {{Link|target=http://www.wikipedia.org|title=WikiPedia}}
== An Example: Seeing is believing ... ==
<youtube>U1zBJO_aIvc</youtube>
The above video is added by simply using the youtube Extension
<pre>
<youtube>U1zBJO_aIvc</youtube>
</pre>
<div class="bitplanorange">
ProfiWiki is based on [[File:SemanticMediaWikiLogo.png|100px|link=http://www.semantic-mediawiki.org]]
</div>
75e3e2937373192d95435509b57030927983b587
278
277
2016-01-17T16:24:25Z
Wf
1
/* An Example: Seeing is believing ... */
wikitext
text/x-wiki
<div style="font-size:24px;color:#FF8000">
Professional Wiki for your Enterprise
</div>
<div class="bitplanorange">
ProfiWiki is based on [[File:MediaWikiLogo.png|100px|link=http://www.mediawiki.org]]
</div>
== Why use the original MediaWiki? ==
* there are some 2.500 {{Link|target=https://www.mediawiki.org/wiki/Category:All_extensions|title=Extensions}} available
* there are many different skins available
* it is free (as in free beer)
* it is free (as in OpenSource)
* the WikiMedia Foundation keeps maintaining it as the infrastucture for {{Link|target=http://www.wikipedia.org|title=WikiPedia}}
== An Example: Seeing is believing ... ==
<youtube>U1zBJO_aIvc</youtube>
<br>
The above video is added by simply using the youtube Extension
<pre>
<youtube>U1zBJO_aIvc</youtube>
</pre>
<div class="bitplanorange">
ProfiWiki is based on [[File:SemanticMediaWikiLogo.png|100px|link=http://www.semantic-mediawiki.org]]
</div>
4d8e5fa5c22f2981c99b0dfd8c0e54ccfb2b44bd
279
278
2016-01-17T16:38:28Z
Wf
1
/* An Example: Seeing is believing ... */
wikitext
text/x-wiki
<div style="font-size:24px;color:#FF8000">
Professional Wiki for your Enterprise
</div>
<div class="bitplanorange">
ProfiWiki is based on [[File:MediaWikiLogo.png|100px|link=http://www.mediawiki.org]]
</div>
== Why use the original MediaWiki? ==
* there are some 2.500 {{Link|target=https://www.mediawiki.org/wiki/Category:All_extensions|title=Extensions}} available
* there are many different skins available
* it is free (as in free beer)
* it is free (as in OpenSource)
* the WikiMedia Foundation keeps maintaining it as the infrastucture for {{Link|target=http://www.wikipedia.org|title=WikiPedia}}
== An Example: Seeing is believing ... ==
<youtube>U1zBJO_aIvc</youtube>
<div class="bitplanorange">
ProfiWiki is based on [[File:SemanticMediaWikiLogo.png|100px|link=http://www.semantic-mediawiki.org]]
</div>
<youtube>OM6XIICm_qo</youtube>
cc6b62387ef9f398476f3a3b13acbc6585b25e0f
MediaWiki:Common.css
8
186
274
2016-01-17T16:15:54Z
Wf
1
Created page with "/* CSS placed here will be applied to all skins */ /** BITPlan **/ div.bitplanorange { margin-top: 0.4cm; font-size: 125%; color: rgb(255, 128, 0); margin-bottom: 0.0cm; }"
css
text/css
/* CSS placed here will be applied to all skins */
/** BITPlan **/
div.bitplanorange {
margin-top: 0.4cm;
font-size: 125%; color: rgb(255, 128, 0);
margin-bottom: 0.0cm;
}
7d95e79ac44d97f028d89041af825f659c186eaa
SiDIFTemplates
0
31
282
198
2016-01-26T08:12:45Z
Wf
1
transfered by WikiBackup wikiTask at 2016-01-26T08:12:43Z
wikitext
text/x-wiki
__TOC__
== Overview ==
This page contains {{sidif}} templates.
These templates can be used as a template for a {{Link|target=Template:Wikitask}}.
For convenience there is a template {{Link|target=Template:TopicWikitasks}} that creates a set of wikitasks for some of the templates below.
== Templates ==
=== category ===
<source lang='java' id='category' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// macro to create pageschema from simela triples
@def pageschema(Topic topic) {
@escape("xml") {
<PageSchema>
<semanticforms_Form name="@topic.name">
<standardInputs freeTextLabel="Free text"/>
</semanticforms_Form>
<Template name="@topic.name" format="standard">
@for (Property property:topic.propertiesByIndex()) {
<Field name="@property.name">
<semanticforms_FormInput>
<InputType>text</InputType>
</semanticforms_FormInput>
<semanticmediawiki_Property name="@(topic.name) @(property.name)">
<Type>Text</Type>
</semanticmediawiki_Property>
</Field>
}
</Template>
</PageSchema>
}
}
@// generate the category for the given topic
@def category(Topic topic) {
__NOTOC__
@// show the wikiDocumentation for this category
{{#ask: [[Topic name::@(topic.name)]] | ?Topic wikiDocumentation= | mainlabel=-}}
@(topic.pluralName) may be added and edited with the form [[has default form::@(topic.name)]]
* [[List of @(topic.pluralName)]]
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
@topic.name @(i18n("description"))
<div class="mw-collapsible-content">
@uml("uml",topic)
* [[Help:@topic.name]]
* [[Concept:@topic.name]]
* [[:Template:@topic.name]]
* [[:Form:@topic.name]]
=== Properties ===
@for (Property property:topic.propertiesByIndex()) {
* [[Property:@(topic.name) @(property.name)]]
}
</div>
</div>
}
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@category(contextSetting.getMaintopic())
</source>
=== listof ===
<source lang='java' id='listof' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// generate the list of page for the given topic
@def listof(Topic topic) {
__NOCACHE__
@topicheader(topic)
== @topic.pluralName ==
{{#forminput:form=@topic.name|button text=add @topic.name}}
@("{{")#ask: [[Concept:@topic.name]]
@for (Property property:topic.propertiesByIndex()) {
| ?@topic.name @(property.name) = @property.name
}
@("}}")
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
=== SiDIF ===
<div class="mw-collapsible-content">
@("{{")#ask: [[Concept:@topic.name]]
| ?#=pageid
@for (Property property:topic.propertiesByIndex()) {
| ?@topic.name @property.name = @property.name
}
| mainlabel=-
| format=template
| named args=yes
| template=@topic.name
| userparam=sidif
| limit=@topic.listLimit
@("}}")
</div>
</div>
[[:Category:@topic.name]]
}
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@listof(contextSetting.getMaintopic())
</source>
=== concept ===
<source lang='java' id='concept' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// generate the given topic as a concept
@def topic(Topic topic) {
__NOCACHE__
@("{{")Topic
|name=@topic.name
|pluralName=@if (topic.pluralName) {@(topic.pluralName)} else { @(topic.name)s }
|icon=@topic.icon
|iconUrl=@topic.iconUrl
|documentation=@topic.documentation
|wikiDocumentation=@topic.wikiDocumentation
|defaultstoremode=@topic.defaultstoremode
|listLimit=@topic.listLimit
|cargo=@topic.cargo
|context=@topic.context
|storemode=property
@("}}")
@("{{")Topic
|viewmode=masterdetail
|storemode=none
@("}}")
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
@topic.wikiDocumentation
@uml("uml",topic)
@("{{")#concept:
@if (topic.conceptProperty) {
[[@(topic.name) @(topic.conceptProperty.name)::+]]
} else {
[[Category:@topic.name]]
}
|@(topic.pluralName)
@seealso(topic)
@("}}")
[[Category:@topic.name]]
}
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@topic(contextSetting.getMaintopic())
</source>
=== propertiesdefs ===
<source lang='java' id='propertiesdefs' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// properties for a specific Topic
@def property(Topic topic, Property property) {
@{
String topicWithConcept=topic.pageid;
if (topicWithConcept.startsWith("Konzept:")) {
topicWithConcept=topicWithConcept.replace("Konzept:","Concept:");
}
if (!topicWithConcept.startsWith("Concept:")) {
topicWithConcept="Concept:"+topicWithConcept;
}
}
@("{{")Property
|name=@property.name
|label=@property.label
|documentation=@property.documentation
|type=Special:Types/@property.type
|index=@property.index
|sortPos=@property.sortPos
|primaryKey=@property.primaryKey
|mandatory=@property.mandatory
|namespace=@property.namespace
|size=@property.size
|uploadable=@property.uploadable
|defaultValue=@property.defaultValue
|inputType=@property.inputType
|allowedValues=@property.allowedValues
|values_from=@property.values_from
|showInGrid=@property.showInGrid
|isLink=@property.isLink
|topic=@(topicWithConcept)
|storemode=property
@("}}")
[[Has type::@property.type]]
This is a Property with type @("{{#show: {{FULLPAGENAMEE}} | ?Property type#- }}")
}
@// properties for the given topic
@def properties(Topic topic) {
== properties of @(topic.name) ==
@for (Property property:topic.getProperties()) {
=== [[Property:@(topic.name) @(property.name)]] ===
<pre>
@(property(topic,property))
</pre>
}
}
</source>
=== properties ===
<source lang='java' id='properties' cache='true'>
@include(wiki.SiDIFTemplates.propertiesdefs)
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@properties(contextSetting.getMaintopic())
</source>
=== instances ===
<source lang='java' id='instances' cache='true'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@// here some java code is declared and executed
@// the resulting variables can be used as template variables later
@{
TripleQuery query=tripleStore.query();
TripleQuery topics=query.query(null,"isA","Topic");
String maintopic=wikiTask.getParams();
}
@def wikison(TripleQuery query,String topicName, String name) {
@("{{")@topicName
@{ TripleQuery properties=query.query(name,null,null) }
|name=@name
@for (Triple property:properties.getTriples()) {
|@property.getPredicate()=@property.getObject()
}
|storeMode=subobject
@("}}")
}
@def wikison1toN(TripleQuery query,String topicName,String link,String linkTopicName) {
@{TripleQuery instances=query.query(null,"isA",topicName) }
@for (Triple instance:instances.getTriples()) {
@wikison(query,topicName,instance.getSubject().toString())
@{TripleQuery linstances=query.query(null,link,instance.getSubject().toString()) }
@for (Triple linstance:linstances.getTriples()) {
@wikison(query,linkTopicName,linstance.getSubject().toString())
}
}
}
@wikison1toN(query,maintopic,"answer","ZAnswer")
[[Category:@maintopic]]
</source>
=== form ===
<source lang='java' id='form' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// generate the form for the given topic
@def form(Topic topic) {
<noinclude>
This is the @("{{smartMediaWiki}}")-Form for "@topic.name".
Create a new @topic.name by entering a new pagename for a @topic.name
into the field below.
If you enter an existing @topic.name pagename - you will edit the @topic.name
with that pagename.
@{
String multiple="";
if ("subobject".equals(topic.defaultstoremode)) {
multiple="|multiple";
}
}
@("{{")#forminput:form=@topic.name|values from concept=@(topic.name)@("}}")
</noinclude><includeonly>
<div id="wikiPreview" style="display: none; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #AAAAAA;"></div>
@formtemplate(topic,multiple)
@("'''Freitext:'''")
@("{{{standard input|free text|rows=10}}}")
@("{{{standard input|summary}}}")
@("{{{standard input|minor edit}}} {{{standard input|watch}}}")
@("{{{standard input|save}}} {{{standard input|preview}}} {{{standard input|changes}}} {{{standard input|cancel}}}")
</includeonly>
}@// avoid newline
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@form(contextSetting.getMaintopic())
</source>
=== template ===
<source lang='java' id='template' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// show the given property Label
@def String propertyLabel(Property property) {
if ((property.label!=null) && (!"".equals(property.label.trim()))) {return property.label;} else {return property.name;}
}
@// show the given Property
@def showProperty(Property property) {
@{
String linkPre="";
String linkPost="";
String namespace="";
if ((property.type!=null) && (property.type.endsWith("Page"))) { linkPre="[[";linkPost="]]";}
// do not do namespace handling at this time
// use map namespace from mediawik-japi!
// if (property.namespace!=null) { namespace=property.namespace+":";}
}@{{#if:{{{@(property.name)|}}}|@(linkPre)@(namespace)@("{{{")@(property.name)@("|}}}")@(linkPost)|}}
}
@// set the given Property
@def setProperty(Property property){
@(property.name)=@("{{{")@(property.name)|@("}}}")
}
@// sidif - newline relevant
@def sidif(Topic topic) {
@("{{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}}") isA @(topic.name)<br>@("|}}")@for (Property property:topic.propertiesByIndex()){@// avoid newline
@("{{#if:{{{")?@(property.name)@("|}}}|")"@("{{{")?@(property.name)@("}}}")" is @property.name of it <br>|@("}}")}
}
@// includeonly part of wiki template
@def includeonly(Topic topic, boolean withComment) {
@("{{#switch:"){{{userparam|}}}|sidif=@sidif(topic)
|#default=@("{{#switch:"){{{storemode|}}}
|none=
|subobject=@("{{#subobject:-")
|isA=@(topic.name)
@for (Property property:topic.propertiesByIndex()) {
|@(topic.name) @setProperty(property)
}
@("}}")@//#subobject
|#default=@("{{#set:")
|isA=@(topic.name)
@for (Property property:topic.propertiesByIndex()) {
|@topic.name @setProperty(property)
}
@("}}")@//#set
@("}}")@//#switch
@("{{#switch:") {{{viewmode|}}}
|masterdetail=
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@if (topicLink.targetTopic) {
=== @(topicLink.targetRole) ===
@("{{")#ask:[[Concept:@(topicLink.targetTopic.name)]][[@(topicLink.targetTopic.name) @(topicLink.sourceRole)::@("{{FULLPAGENAME}}")]]
@for (Property property:topicLink.targetTopic.propertiesByIndex()) {
| ?@(topicLink.targetTopic.name) @property.name = @property.name
}
@("}}")
}
}
|tableheader=@("{{{!}}") class='wikitable'
@{String delim="!";}
@for (Property property:topic.propertiesByIndex()) {@(delim)@(property.name)@{delim="!!";}}
@("\n{{!}}-")
|tablerow=
@{delim="{{!}}"}
@for (Property property:topic.propertiesByIndex()) {@(delim){{{@(property.name)|}}}@{delim="{{!}}{{!}}"}}
@("\n{{!}}-")
|tablefooter=@("{{!}}}")
|labelfield=
@for (Property property:topic.propertiesByIndex()) {@(property.name)=@(showProperty(property))<br>}
|#default=@("{{{!}}") class='wikitable'
! colspan='2' @("{{!}}")@(topic.name)
@("{{!}}-")
@("{{#switch:"){{{storemode|}}}|property=
! colspan='2' style='text-align:left' {{!}} {{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/@(topic.name)/{{FULLPAGENAME}}|title=edit}}
@("{{!}}-")
@("}}")
@for (Property property:topic.propertiesByIndex()) {@("!")@(propertyLabel(property))
@("{{!}}") @(showProperty(property))
@("{{!}}")-
}
@("{{!}}}")
@("}}")@//#switch
@("}}")@//#switch
@// do not add subobjects to category - this would make selecting the default form difficult
@if ("property".equals(topic.defaultstoremode)) {
[[Category:@topic.name]]
}
}
@// wikiSonUsage
@def wikiSonUsage(Topic topic,String modeLine) {
<pre>@("{{")@topic.name
@for (Property property:topic.propertiesByIndex()) {
|@property.name=
}
|@modeLine
@("}}")
</pre>
}@// avoid newline
@// noinclude part of wiki template
@def noinclude(Topic topic) {
This is the template {{Link|target=Template:@topic.name|title=@topic.name}}.
It belongs to the concept/topic {{Link|target=:Concept:@topic.name}}<br>
You may find examples for the use of this template via the {{Link|target=List of @(topic.pluralName)}}.
=== Usage ===
@{ String[] storeModes={"subobject","property","none"};}
@for (String storeMode:storeModes) {
==== storemode @storeMode ====
@wikiSonUsage(topic,"storemode="+storeMode)
}
@{ String[] viewModes={"tableheader","tablerow","tablefooter","labelfield"};}
@for (String viewMode:viewModes) {
==== viewmode @viewMode ====
@wikiSonUsage(topic,"viewmode="+viewMode)
}
=== Source (pretty printed) ===
@("<source") lang='html4strict'>
@includeonly(topic,true)
@("<")@("/source>")
=== Source ===
Click on "Edit" to edit the noinclude-part Source of this Template.
[[Category:Template]]
}@// avoid newline
@def template(Topic maintopic) {<noinclude>
@copyright()
@noinclude(maintopic)
</noinclude><includeonly>@includeonly(maintopic,false)</includeonly>}@// avoid newline
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@template(contextSetting.getMaintopic())
</source>
=== javacodegen ===
<source lang='java' id='javacodegen' cache='true'>
@include(wiki.SiDIFTemplates.defs)
=== java code ===
@("<source lang='java' id='javacode'>")
@verbatim() {
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
}
@// user code section
@// smartGenerator compatible like:
@// // >>>{User defined import section}{::com::bitplan::ooa::OOAAssociation}{S37C96C0C016C}
@def printUserCode(String codetype,String key,String modelID) {
// >>>@("{")@(codetype)@("}")@("{")@(key)@("}")@("{")@(modelID)@("}")
// <<<@("{")@(codetype)@("}")@("{")@(key)@("}")@("{")@(modelID)@("}")
}
@// first character to Upper
@def String firstToUpper(String string) {
StringBuffer sb = new StringBuffer(string);
sb.replace(0, 1, string.substring(0, 1).toUpperCase());
return sb.toString();
}
@// generate javacode for the given topic
@def javacode(Context context) {
@("@def static {")
/**
* Base class
*/
static abstract class TopicBase {
// each Topic has a pageid - for non subobject thats the pagename
public String pageid;
/**
* get a WikiSon version of the given name value
*
* @@param name
* @@param value
* @@return - the string representation
*/
public String toWikiSon(String name, String value) {
String result = "<!-- " + name + " is null-->\n";
if (value != null)
result = "|" + name + "=" + value + "\n";
return result;
}
/**
* get the propertySidif of the given property
*
* @@param name
* @@param value
* @@return
*/
public static String propertySiDIF(String name, String value, String type) {
// default is an empty string - no property line for emtpy values
String result = "";
// if the value is not empty
if ((value != null) && (!("".equals(value.trim())))) {
// do we need to quote the result?
String quote = "";
// this depends on the Type
if ("Text".equals(type)) {
quote = "\"";
}
// create a SIDIF Property line like
// "John" is lastname of it
result += quote + value + quote + " is " + name + " of it\n";
}
// return the SiDIF property line
return result;
}
/**
* get me as a String
*
* @@param name
* @@param value
* @@return
*/
public static String propertySiDIF(String name, String value) {
String result = propertySiDIF(name, value, "Text");
return result;
}
/**
* check if the given boolean String value is true
*
* @@param value
* @@return true if the value is not null and has true/TRUE as it's string
* content
*/
public boolean isTrue(String value) {
boolean result = false;
if (value != null && value.toLowerCase().equals("true")) {
result = true;
}
return result;
}
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
@for(Topic topic:context.getTopics()) {
/**
* @topic.name
* @topic.documentation
*/
public static class @topic.name extends TopicBase @("{")
@for(Property property:topic.getProperties()) {
public String @property.name;
}
@for(Property property:topic.getProperties()) {
public String get@(firstToUpper(property.name))() { return @property.name; }
public void set@(firstToUpper(property.name))(String p@(firstToUpper(property.name))) { @property.name=p@(firstToUpper(property.name)); }
}
/**
* convert this @topic.name to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* convert this @topic.name to a WikiSon string
*/
public String toWikiSon() {
String wikison= "{{@topic.name\n";
@for(Property property:topic.getProperties()) {
wikison+=toWikiSon("@property.name",@property.name);
}
wikison+="}}\n";
return wikison;
}
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for @topic.name
*/
public @(topic.name)() {}
/**
* construct a @topic.name from the given Triple
* @("@")param query - the TripleQuery to get the triples from
* @("@")param p@(topic.name)Triple - the triple to construct me from
*/
public @(topic.name)(TripleQuery query,Triple p@(topic.name)Triple) @("{")
this(query,p@(topic.name)Triple.getSubject().toString());
@("} // constructor")
/**
* construct a @topic.name from the given pageId
* @("@")param query - the TripleQuery to get the triples from
* @("@")param pageid - pageid
*/
public @(topic.name)(TripleQuery query,String pageid) @("{")
this.pageid=pageid;
@for(Property property:topic.getProperties()) {
Triple @(property.name)Triple=query.selectSingle(pageid,"@property.name",null);
if (@(property.name)Triple==null)
@(property.name)Triple=query.selectSingle(pageid,"Property:@(topic.name)_@property.name",null);
if (@(property.name)Triple!=null)
@(property.name)=@(property.name)Triple.getObject().toString();
}
init(query);
@("}") // constructor for @topic.name
@printUserCode("user defined topic code",topic.name,topic.name)
@("}") // class @topic.name
/**
* Manager for @topic.name
*/
public static class @(topic.name)Manager extends TopicBase @("{")
public String topicName="@(topic.name)";
public transient List<@topic.name> m@(topic.name)s=new ArrayList<@(topic.name)>();
public transient Map<String,@topic.name> m@(topic.name)Map=new LinkedHashMap<String,@(topic.name)>();
/**
* get my @(topic.pluralName)
*/
public List<@topic.name> get@(topic.pluralName)() {
List<@topic.name> result=this.m@(topic.name)s;
return result;
}
/**
* add a new @(topic.name)
*/
public @(topic.name) add(@(topic.name) p@(topic.name)) {
m@(topic.name)s.add(p@(topic.name));
m@(topic.name)Map.put(p@(topic.name).getPageid(),p@(topic.name));
return p@(topic.name);
}
/**
* add a new @(topic.name) from the given triple
*/
public @(topic.name) add(TripleQuery query,Triple p@(topic.name)Triple) {
@topic.name l@topic.name=new @(topic.name)(query,p@(topic.name)Triple);
add(l@(topic.name));
return l@(topic.name);
}
// reinitialize my m@(topic.name) map
public void reinit() {
m@(topic.name)Map.clear();
for (@(topic.name) l@(topic.name):m@(topic.name)s) {
m@(topic.name)Map.put(l@(topic.name).getPageid(),l@(topic.name));
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static @(topic.name)Manager fromJson(String json) {
@(topic.name)Manager result=JSON.parseObject(json, @(topic.name)Manager.class);
result.reinit();
return result;
}
// default constructor for @(topic.name) Manager
public @(topic.name)Manager() {}
// add @(topic.pluralName) from the given query
public void add@(topic.pluralName)(TripleQuery p@(topic.name)Query,TripleQuery query) {
if (p@(topic.name)Query!=null) {
for (Triple l@(topic.name)Triple:p@(topic.name)Query.getTriples()) {
add(query,l@(topic.name)Triple);
}
}
}
// construct me from the given triple Query query
public @(topic.name)Manager(TripleQuery query) @("{")
// first query the SiDIF bases triplestore
TripleQuery l@(topic.name)Query=query.query(null,"isA","@topic.name");
add@(topic.pluralName)(l@(topic.name)Query,query);
// then the SMW triplestore
l@(topic.name)Query=query.query(null,"Property:IsA","@topic.name");
add@(topic.pluralName)(l@(topic.name)Query,query);
init(query);
@("}") // constructor for @topic.name Manager
@printUserCode("user defined topicmanager code",topic.name,topic.name)
@("}") // class @topic.name Manager
}
@// end static
@("}")
}
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
Context context=ContextFactory.getInstance().getContext(contextSetting);
}
@javacode(context)
</source>
=== help ===
<source lang='java' id='help'>
@include(wiki.SiDIFTemplates.defs)
@def help(Topic topic) {
== Help for @(topic.name) ==
@topicheader(topic)
=== Documentation ===
@topic.wikiDocumentation
=== Example @(topic.pluralName) ===
{{#ask: [[Concept:@(topic.name)]]
}}
=== Properties ===
{{#ask: [[Concept:Property]][[Property topic::Concept:@(topic.name)]]
| ?Property documentation = documentation
| ?Property type = type
| ?Property name = name
| ?Property label = label
| ?Property allowedValues = allowedValues
| ?Property mandatory = mandatory
| ?Property uploadable = uploadable
|format=table
}}
@uml("uml",topic)
@seealso(topic)
[[Category:@topic.name]]
}
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@help(contextSetting.getMaintopic())
</source>
=== debug ===
<source lang='java' id='debug'>
@include(wiki.SiDIFTemplates.java)
@for (Topic topic:mTopicManager.mTopics) {
== @(topic.pageid) ==
=== Concept property ===
@if (topic.conceptProperty) {
* @topic.conceptProperty.pageid name=@topic.conceptProperty.name
}
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
=== source TopicLink @(topicLink.name) ===
* @topicLink.sourceMultiple @topicLink.source @(topicLink.sourceRole)
* @topicLink.targetMultiple @topicLink.target @(topicLink.targetRole)
}
@for (TopicLink topicLink:topic.targetTopicLinks.mTopicLinks) {
=== target TopicLink @(topicLink.name) ===
* @topicLink.sourceMultiple @topicLink.source @(topicLink.sourceRole)
* @topicLink.targetMultiple @topicLink.target @(topicLink.targetRole)
}
@for (Property property:topic.getProperties()) {
=== Property @(property.name) ===
<pre>
[[Has type::@property.type]]
@("{{")Property
|name=@property.name
|documentation=@property.documentation
|type=Special:Types/@property.type
|label=@property.label
|primaryKey=@property.primaryKey
|mandatory=@property.mandatory
|uploadable=@property.uploadable
|size=@property.size
|defaultValue=@property.defaultValue
|inputType=@property.inputType
|allowedValues=@property.allowedValues
|topic=Concept:@topic.pageid
@("}}")
[[has default form::Property]]
This is a Property with type @("{{#show: {{FULLPAGENAMEE}} | ?Property type#- }}")
</pre>
}
}
</source>
=== tripletable ===
<source lang='java' id='tripletable' cache='true'>
@include(wiki.SiDIFTemplates.java)
@// macro to show a table of triples
@def tripletable(String title,List<org.sidif.triple.Triple> triples) {
=== @title ===
{| class="wikitable sortable"
! subject !! predicate !! object
|-
@for (org.sidif.triple.Triple triple:triples) {
|@triple.getSubject() || @triple.getPredicate() || @triple.getObject()
|-
}
|}
}
@tripletable("all triples",query.getTriples())
@tripletable("topics",topics.getTriples())
</source>
=== defs ===
<source lang='java' id='defs' cache='true'>
@include(wiki.SiDIFTemplates.java)
@// macro to show BITPlan copyright
@def copyright() {<!--
-- Copyright (C) 2015 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->@// avoid newline
}
@// error handling - get a stack trace
@def String getStackTrace (Throwable t) {
StringWriter sw = new StringWriter();
t.printStackTrace(new PrintWriter(sw));
return sw.toString();
}
@// macro to to internationalize generator results
@def String i18n(String text) {
String targetLang=wikiTask.getWiki().getSiteInfo().getLang();
return text;
}
@// macro for the topic header of a topic
@def topicheader(Topic topic) {
{{#ask: [[Topic name::@(topic.name)]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
}
@// macro for the form template of a topic
@def formtemplate(Topic topic,String multiple) {
<!-- @(topic.name) -->
@("{{{")for template|@(topic.name)@(multiple)@("}}}")
@("{|") class="wikitable"
! colspan='2'| @topic.name
|-
@for (Property property:topic.propertiesByIndex()) {
! @property.label:
<!-- @property.type @property.name -->
@{
String allowedValues=""; if (property.allowedValues!=null) { allowedValues="|values="+property.allowedValues; }
String mandatory=""; if ("true".equals(property.mandatory)) { mandatory="|mandatory"; }
String uploadable=""; if ("true".equals(property.uploadable)) { uploadable="|uploadable"; }
String values_from=""; if (property.values_from!=null) { values_from="|values from "+property.values_from; }
String defaultValue=""; if (property.defaultValue!=null) { defaultValue="|default="+property.defaultValue; }
String size=""; if (property.size!=null) { size="|size="+property.size; }
String inputtype=""; if (property.inputType!=null) { inputtype="|input type="+property.inputType; }
if ("textarea".equals(property.inputType)) {
inputtype+="|editor=wikieditor";
}
}
| @("{{{")field|@(property.name)|property=@(topic.name) @(property.name)@(inputtype)@(size)@(mandatory)@(uploadable)@(values_from)@(allowedValues)@(defaultValue)@("}}}")
|-
}
@("|}")
@("{{{")field|storemode|default=@(topic.defaultstoremode)|hidden@("}}}")
@("{{{end template}}}")
<!-- @(topic.name) -->
}
@// macro to to show relevant links for a topic
@def seealso(Topic topic) {
see also
* [[List of @(topic.pluralName)]]
* [[Help:@topic.name]]
* [[Concept:@topic.name]]
* [[:Category:@topic.name]]
* [[:Template:@topic.name]]
* [[:Form:@topic.name]]
topic links:
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@if (topicLink.targetTopic) {
* [[:Category:@(topicLink.targetTopic.name)]]
}
}
}
@// macro to create skin params for BITPlan corporate identity
@def bitplanumlci(int fontSize) {
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
@{ String skinparams[] = {"note", "component", "package", "usecase","activity","classAttribute","interface","class","object"}; }
@for (String skinparam:skinparams) {
skinparam @skinparam {
BackGroundColor #FFFFFF
FontSize @fontSize
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
}
hide Circle
' end of skinparams '
}
@// macro to create Relation
@def plantUmlRelation(TopicLink topicLink) {
@{
String sourceMany="1";
String targetMany="1";
if ("true".equals(topicLink.sourceMultiple)) sourceMany="*";
if ("true".equals(topicLink.targetMultiple)) targetMany="*";
}
@(topicLink.source) "@(topicLink.sourceRole) (@(sourceMany))" -- "@(topicLink.targetRole)(@(targetMany))" @(topicLink.target)
}
@// macro to create uml from simela triples
@def uml(String title,Topic topic) {
=== @title ===
<uml>
title @topic.name
note as @(topic.name)DiagramNote
Copyright (c) 2015 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as @(topic.name)Note
@(topic.documentation)
end note
class @topic.name @("{")
@for (Property property:topic.propertiesByIndex()) {
@(property.type) @(property.name)
}
@("}")
@(topic.name)Note .. @(topic.name)
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@plantUmlRelation(topicLink)
}
@for (TopicLink topicLink:topic.targetTopicLinks.mTopicLinks) {
@plantUmlRelation(topicLink)
}
@bitplanumlci(12)
</uml>
}
</source>
=== dialogdefs ===
<source lang='java' id='dialogdefs' cache='true'>
@import java.net.URLEncoder
@// JQuery imports
@def jquery(String indent) {
@(indent)<!-- JQuery Code for resthtmlview -->
@(indent)<script src="/resthtmlview/js/jquery-1.10.2.min.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/jquery-ui-1.10.0.custom.js"></script>
@(indent)<script src="/resthtmlview/js/i18n/grid.locale-en.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/ui.multiselect.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/jquery.ui.message.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/jquery.jqGrid.min.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/redactor.min.js" type="text/javascript"></script>
@(indent)<!-- load jQuery and tablesorter scripts -->
@(indent)<script src="/resthtmlview/js/jquery.tablesorter.min.js"></script>
@(indent)<script src="/resthtmlview/js/jquery.tablesorter.widgets.js"></script>
@(indent)<script src="/resthtmlview/js/jquery.metadata.js"></script>
@(indent)<!-- JQuery Styles for resthtmlview -->
@(indent)<link href="/resthtmlview/css/form.css" type="text/css" media="screen" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/messages.css" type="text/css" media="screen" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/bitplanfadetogrey/jquery-ui-1.10.1.custom.css" type="text/css" media="screen" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/ui.jqgrid.css" type="text/css" media="screen" rel="stylesheet" />
@(indent)<link href="/resthtmlview/css/ui.multiselect.css" type="text/css" media="screen" rel="stylesheet" />
@(indent)<!-- Tablesorter: required -->
@(indent)<link href="/resthtmlview/css/theme.blue.css" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/searchFilter.css" type="text/css" media="screen" rel="stylesheet" />
@(indent)<link href="/resthtmlview/css/redactor.css" type="text/css" media="screen" rel="stylesheet" />
}
@// CSS Style definitions
@def style(String indent) {
@(indent)<style>
@(indent) body { height:100% }
@(indent) #container {
@(indent) background-color: #f0f0f0; /* lightblue background */
@(indent) width: 100%; /* Container has full width */
@(indent) margin: auto; /* center container */
@(indent) min-height: 100%; /* minimum height 100 % (for modern browsers) */
@(indent) height: auto !important; /* important Behel (for modern browsers */
@(indent) height: 100%; /* IE shall work as specified */
@(indent) overflow: hidden !important; /* firefox scrollbar */
@(indent) }
@(indent)</style>
}
@// dialog definition
@def dialog(String indent) {
@(indent)<script type="text/javascript">
@(indent) $(document).ready(function() {
@(indent) var wWidth = $(window).width();
@(indent) var wHeight = $(window).height();
@(indent) var dTopy = wHeight * 0.25; // top at 25% of window height
@(indent) var dTopx = wWidth * 0.25; // left at 25% of window width
@(indent) var dWidth = 'auto'; //this will make the dialog 98% of the window size
@(indent) var dHeight = 'auto';
@(indent) $( "#dialog" ).dialog({
@(indent) // position : [ dTopx, dTopy ],
@(indent) width : dWidth,
@(indent) height : dHeight,
@(indent) modal : true,
@(indent) // title: ""+wWidth+"x"+wHeight+" "+dTopx+":"+dTopy,
@(indent) my: "center",
@(indent) at: "center",
@(indent) of: window,
@(indent) show : {
@(indent) effect : "blind",
@(indent) duration : 500
@(indent) },
@(indent) hide : {
@(indent) effect : "fade",
@(indent) duration : 500
@(indent) }
@(indent) });
@(indent) // tabs
@(indent) $( "#tabs" ).tabs();
@(indent) // tablesorter
@(indent) $.extend( $.tablesorter.defaults, {
@(indent) theme: 'blue',
@(indent) widthFixed: false
@(indent) });
@(indent) $(".sortable").tablesorter();
@(indent) });
@(indent)</script>
}
@// display the given stockicon
@def String stockicon(String name,int size,String alt,String title) {
String iconhref="/stockicons/"+size+"x"+size+"/shadow/"+name+".png";
String img="<img src='"+iconhref+"' alt='"+alt+"' title='"+title+"' width='"+size+"px' height='"+size+"px' >";
return img;
}
@// url encode the given txt
@def String urlEncode(String txt) {
String result=URLEncoder.encode(txt, "UTF-8");
return result;
}
@def selectall() {
<script>
/**
* http://stackoverflow.com/questions/432493/how-do-you-access-the-matched-groups-in-a-javascript-regular-
* expression
* examples:
*
* var matches = getRegexMatches(/(dog)/, "dog boat, cat car dog");
* console.log(matches);
*
* var matches = getRegexMatches(/(dog|cat) (boat|car)/, "dog boat, cat car");
* console.log(matches);
*/
function getRegexMatches(regex, string) {
if(!(regex instanceof RegExp)) {
return "ERROR";
}
else {
if (!regex.global) {
// If global flag not set, create new one.
var flags = "g";
if (regex.ignoreCase) flags += "i";
if (regex.multiline) flags += "m";
if (regex.sticky) flags += "y";
regex = RegExp(regex.source, flags);
}
}
var matches = [];
var match = regex.exec(string);
while (match) {
if (match.length > 2) {
var group_matches = [];
for (var i = 1; i < match.length; i++) {
group_matches.push(match[i]);
}
matches.push(group_matches);
}
else {
matches.push(match[1]);
}
match = regex.exec(string);
}
return matches;
}
/**
* get the select_row or select_col checkboxes dependening on the selectType row/col
*/
function getSelectCheckboxes(selectType) {
var regex=new RegExp("select_"+selectType+"_");
var result= $('input').filter(function() {return this.id.match(regex);});
return result;
}
/**
* matrix selection logic
* the goal is to provide select all / select row x / select col x
* checkboxes that will allow to
* select all: select all grid elements
* select row: select the grid elements in the given row
* select col: select the grid elements in the given col
*
* There is a naming convention for the ids and css style classes of the the selectors and elements:
* select all -> id: selectall
* select row -> id: select_row_row e.g. select_row_2
* select col -> id: select_col_col e.g. select_col_3
* grid element -> class checkBoxClass col_col row_row e.g. checkBoxClass row_2 col_3
*/
function checkSelectStates() {
// get the list of grid checkbox elements
// all checkboxes
var all = $('.checkBoxClass');
// all select row check boxes
var rows = getSelectCheckboxes('row');
// all select columnn check boxes
var cols = getSelectCheckboxes('col');
// console.log("rows: "+rows.length+", cols:"+cols.length+" total: "+all.length);
// get the total number of checkboxes in the grid
var allLen=all.length;
// get the number of checkboxes in the checked state
var filterLen=all.filter(':checked').length;
// console.log(allLen+"-"+filterLen);
// if all checkboxes are in the checked state
// set the state of the selectAll checkbox to checked to be able
// to deselect all at once, otherwise set it to unchecked to be able to select all at once
if (allLen == filterLen) {
$("#selectall").prop("checked", true);
} else {
$("#selectall").prop("checked", false);
}
// now check the completeness of the rows
for (row = 0; row < rows.length; row++) {
var rowall=$('.row_'+row);
var rowchecked=rowall.filter(':checked');
if (rowall.length == rowchecked.length) {
$("#select_row_"+row).prop("checked", true);
} else {
$("#select_row_"+row).prop("checked", false);
}
}
// now check the completeness of the cols
for (col = 0; col < cols.length; col++) {
var colall=$('.col_'+col);
var colchecked=colall.filter(':checked');
if (colall.length == colchecked.length) {
$("#select_col_"+col).prop("checked", true);
} else {
$("#select_col_"+col).prop("checked", false);
}
}
}
$(document).ready(function () {
// handle click event for Select all check box
$("#selectall").click(function () {
// set the checked property of all grid elements to be the same as
// the state of the SelectAll check box
var state=$("#selectall").prop('checked');
$(".checkBoxClass").prop('checked', state);
getSelectCheckboxes('row').prop('checked', state);
getSelectCheckboxes('col').prop('checked', state);
});
// handle clicks within the grid
$(".checkBoxClass").on( "click", function() {
checkSelectStates();
});
$('.checkboxSelect').on( "click", function() {
var matchRowColArr=getRegexMatches(/select_(row|col)_([0-9]+)/,this.id);
var matchRowCol=matchRowColArr[0];
// console.log(matchRowCol);
if (matchRowCol.length==2) {
var selectType=matchRowCol[0]; // e.g. row
var selectIndex=matchRowCol[1]; // e.g. 2
// console.log(this.id+" clicked to select "+selectType+" "+selectIndex);
// e.g. .row_2
$("."+selectType+"_"+selectIndex)
.prop('checked', $("#select_"+selectType+"_"+selectIndex).prop('checked'));
checkSelectStates();
}
});
});
</script>
}
</source>
=== java ===
The debugging version of the SiDIF Templates
<source lang='java' id='java' cache='true'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.TripleStore
@import org.sidif.triple.Triple
@import org.sidif.wiki.SMW_Triples
@import com.alibaba.fastjson.JSON
@// import instead of src
@import com.bitplan.topic.TopicStatic.YT
@import com.bitplan.topic.TopicStatic.Context
@import com.bitplan.topic.TopicStatic.Topic
@import com.bitplan.topic.TopicStatic.Property
@import com.bitplan.topic.TopicStatic.SMW_Type
@import com.bitplan.topic.TopicStatic.TopicLink
@import com.bitplan.topic.TopicStatic.ContextManager
@import com.bitplan.topic.TopicStatic.TopicManager
@import com.bitplan.topic.TopicStatic.PropertyManager
@import com.bitplan.topic.TopicStatic.SMW_TypeManager
@import com.bitplan.topic.TopicStatic.TopicLinkManager
@import com.bitplan.topic.ContextFactory
@import com.bitplan.topic.ContextSetting
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
</source>
=== javasrc ===
<source lang='java' id='javasrc' cache='true'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.TripleStore
@import org.sidif.triple.Triple
@import org.sidif.wiki.SMW_Triples
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
com.bitplan.topic.TopicManager topicManager
}
@def static {
/**
* Base class
*/
static abstract class TopicBase {
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
/**
* technical part of Y-Principle
*
* @author wf
*
*/
static class YT {
// Y-Principle technical parts
public static YT yts[] = {
new YT("Category", "Category", "category",
"/images/d/d6/Category_Icon.png"),
new YT("Concept", "Concept", "concept", "/images/2/25/Concept_Icon.png"),
new YT("Form", "Form", "form", "/images/e/e5/Form_icon.jpg"),
new YT("Help", "Help", "help", "/images/7/7a/Help_Icon.png"),
new YT("Listof", "List of", "listof", "/images/7/7f/List_Icon.png"),
new YT("Template", "Template", "template",
"/images/6/61/Icon_template.png"),
new YT("Properties", "Properties", "properties",
"/images/6/6a/Element_into_input.png"),
new YT("Java", "Java", "javacodegen",
"/images/3/38/Java_icon.png") };
/**
* get the YT with the given name
*
* @param ytname
*/
public static YT getYT(String ytname) {
for (YT yt : yts) {
if (yt.name.equals(ytname)) {
return yt;
}
}
return null;
}
String name;
String label;
String iconUrl;
String template;
/**
* construct me with name label and icon url
*
* @param name
* @param label
* @param iconUrl
*/
public YT(String name, String label,String template, String iconUrl) {
super();
this.name = name;
this.label = label;
this.template=template;
this.iconUrl = iconUrl;
}
/**
* a part where name and label is different
*
* @param name
* @param label
*/
public YT(String name, String label) {
this(name,label,name.toLowerCase(),"Datei:"+name+".png");
}
/**
* a part where name and label is the same
*
* @param name
*/
public YT(String name) {
this(name, name);
}
/**
* get the page Title for the given topic name
*
* @param topicname
* @return
*/
public String getPageTitle(Topic topic) {
String result = this.name + ":" + topic.name;
if ("Listof".equals(name)) {
result = "List_of_" + topic.pluralName.replace(" ","_");
}
if ("Properties".equals(name)) {
result = "Concept:" + topic.name.replace(" ","_")+"/Properties";
}
return result;
}
}
/**
* Context A Context groups some topics like a Namespace/Package
*/
static class Context extends TopicBase {
String pageid;
String name;
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
/**
* convert this Context to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for Context
*/
public Context() {
}
/**
* construct a Context from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pContextTriple
* - the triple to construct me from
*/
public Context(TripleQuery query, Triple pContextTriple) {
this(query, pContextTriple.getSubject().toString());
} // constructor
/**
* construct a Context from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public Context(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query.selectSingle(pageid, "Property:Context_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
init(query);
} // constructor for Context
// >>>{user defined topic code}{Context}{Context}
/**
* get the propertySidif of the given property
* @param name
* @param value
* @return
*/
public String propertySiDIF(String name,String value, String type) {
String result="";
String quote="";
if ("Text".equals(type)) {
quote="\"";
}
if (value!=null) {
result+=quote+value+quote+" is "+name+" of it\n";
}
return result;
}
/**
* get me as a String
* @param name
* @param value
* @return
*/
public String propertySiDIF(String name,String value) {
String result=propertySiDIF(name,value,"Text");
return result;
}
/**
* return me as a SiDIF string
* @return
*/
public String asSiDIF() {
String result="";
result+="#\n";
result+="# Context:"+getName()+"\n";
result+="#\n";
result+=getPageid()+" isA Context\n";
result+=this.propertySiDIF("name", name);
for (Topic topic:this.getTopics()) {
result+="#\n";
result+="#"+topic.getName()+"\n";
result+="#\n";
result+=topic.name+" isA Topic\n";
result+=this.propertySiDIF("name", topic.name);
result+=this.propertySiDIF("pluralName", topic.pluralName);
result+=this.propertySiDIF("documentation",topic.documentation);
result+=this.propertySiDIF("wikiDocumentation",topic.wikiDocumentation);
result+=this.propertySiDIF("icon",topic.icon);
result+=this.propertySiDIF("defaultstoremode", topic.defaultstoremode);
result+=this.propertySiDIF("context", this.getName());
for (Property property:topic.getProperties()) {
result+=topic.getName()+"_"+property.getName()+" addsTo it\n";
}
for (Property property:topic.getProperties()) {
result+=topic.getName()+"_"+property.getName()+" isA Property\n";
result+=propertySiDIF("name",property.name);
result+=propertySiDIF("allowedValues",property.allowedValues);
result+=propertySiDIF("defaultValue",property.defaultValue);
result+=propertySiDIF("documentation",property.documentation);
result+=propertySiDIF("inputType",property.inputType);
result+=propertySiDIF("label",property.label);
result+=propertySiDIF("mandatory", property.mandatory,"Boolean");
result+=propertySiDIF("namespace",property.namespace);
result+=propertySiDIF("primaryKey",property.primaryKey,"Boolean");
result+=propertySiDIF("pageid",property.pageid);
result+=propertySiDIF("size",property.size,"Number");
result+=propertySiDIF("topic",topic.getName());
}
}
return result;
}
// 1:n relation to topics
TopicManager topics = new TopicManager();
/**
* accessor for 1:n relation to topics
*
* @return
*/
public List<Topic> getTopics() {
return topics.mTopics;
}
/**
* recreate topics from a given list
* @param pTopics
*/
public void setTopics(List<Topic> pTopics) {
topics = new TopicManager();
topics.mTopics=pTopics;
for (Topic topic:pTopics) {
topics.mTopicMap.put(topic.getPageid(), topic);
}
}
// <<<{user defined topic code}{Context}{Context}
} // class Context
/**
* Manager for Context
*/
static class ContextManager extends TopicBase {
public String topicName = "Context";
public List<Context> mContexts = new ArrayList<Context>();
public Map<String, Context> mContextMap = new LinkedHashMap<String, Context>();
/**
* add a new Context
*/
public Context add(Context pContext) {
mContexts.add(pContext);
mContextMap.put(pContext.getPageid(), pContext);
return pContext;
}
/**
* add a new Context from the given triple
*/
public Context add(TripleQuery query, Triple pContextTriple) {
Context lContext = new Context(query, pContextTriple);
add(lContext);
return lContext;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public ContextManager() {
}
// construct me from the given triple Query query
public ContextManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lContextQuery = query.query(null, "isA", "Context");
for (Triple lContextTriple : lContextQuery.getTriples()) {
add(query, lContextTriple);
}
// then the SMW triplestore
lContextQuery = query.query(null, "Property:IsA", "Context");
for (Triple lContextTriple : lContextQuery.getTriples()) {
add(query, lContextTriple);
}
init(query);
} // constructor for Context Manager
// >>>{user defined topicmanager code}{Context}{Context}
public TopicManager mTopicManager;
public PropertyManager mPropertyManager;
/**
* run pass 2 to link topics to context
*
* @return
*/
public List<String> pass2() {
List<String> result = new ArrayList<String>();
for (Topic topic : mTopicManager.mTopics) {
if (topic.context != null) {
Context context = this.mContextMap.get(topic.context);
if (context != null) {
context.topics.mTopics.add(topic);
} else {
result.add("Context '" + topic.context + "' not found");
}
}
}
for (Property property : mPropertyManager.mPropertys) {
if (property.topic != null) {
Topic topic = mTopicManager.mTopicMap.get(property.topic);
if (topic != null) {
// FIXME use an add function that also adds to the map
topic.properties.mPropertys.add(property);
} else {
result.add("Topic '" + property.topic + "' not found");
}
}
}
return result;
}
/**
* construct me from a tripleStore
*
* @param tripleStore
*/
public ContextManager(TripleStore tripleStore) {
this(tripleStore.query());
mTopicManager = new TopicManager(tripleStore.query());
mPropertyManager = new PropertyManager(tripleStore.query());
mTopicManager.configureTopics();
pass2();
}
// <<<{user defined topicmanager code}{Context}{Context}
} // class Context Manager
/**
* Topic A Topic is a Concept/Class/Thing/Entity
*/
static class Topic extends TopicBase {
String pageid;
String name;
String pluralName;
String icon;
String wikiDocumentation;
String documentation;
String defaultstoremode;
String context;
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
public String getPluralName() {
return pluralName;
}
public void setPluralName(String pPluralName) {
pluralName = pPluralName;
}
public String getIcon() {
return icon;
}
public void setIcon(String pIcon) {
icon = pIcon;
}
public String getWikiDocumentation() {
return wikiDocumentation;
}
public void setWikiDocumentation(String pWikiDocumentation) {
wikiDocumentation = pWikiDocumentation;
}
public String getDocumentation() {
return documentation;
}
public void setDocumentation(String pDocumentation) {
documentation = pDocumentation;
}
public String getDefaultstoremode() {
return defaultstoremode;
}
public void setDefaultstoremode(String pDefaultstoremode) {
defaultstoremode = pDefaultstoremode;
}
public String getContext() {
return context;
}
public void setContext(String pContext) {
context = pContext;
}
/**
* convert this Topic to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for Topic
*/
public Topic() {
}
/**
* construct a Topic from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pTopicTriple
* - the triple to construct me from
*/
public Topic(TripleQuery query, Triple pTopicTriple) {
this(query, pTopicTriple.getSubject().toString());
} // constructor
/**
* construct a Topic from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public Topic(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query.selectSingle(pageid, "Property:Topic_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
Triple pluralNameTriple = query.selectSingle(pageid, "pluralName", null);
if (pluralNameTriple == null)
pluralNameTriple = query.selectSingle(pageid,
"Property:Topic_pluralName", null);
if (pluralNameTriple != null)
pluralName = pluralNameTriple.getObject().toString();
Triple iconTriple = query.selectSingle(pageid, "icon", null);
if (iconTriple == null)
iconTriple = query.selectSingle(pageid, "Property:Topic_icon", null);
if (iconTriple != null)
icon = iconTriple.getObject().toString();
Triple wikiDocumentationTriple = query.selectSingle(pageid,
"wikiDocumentation", null);
if (wikiDocumentationTriple == null)
wikiDocumentationTriple = query.selectSingle(pageid,
"Property:Topic_wikiDocumentation", null);
if (wikiDocumentationTriple != null)
wikiDocumentation = wikiDocumentationTriple.getObject().toString();
Triple documentationTriple = query.selectSingle(pageid, "documentation",
null);
if (documentationTriple == null)
documentationTriple = query.selectSingle(pageid,
"Property:Topic_documentation", null);
if (documentationTriple != null)
documentation = documentationTriple.getObject().toString();
Triple defaultstoremodeTriple = query.selectSingle(pageid,
"defaultstoremode", null);
if (defaultstoremodeTriple == null)
defaultstoremodeTriple = query.selectSingle(pageid,
"Property:Topic_defaultstoremode", null);
if (defaultstoremodeTriple != null)
defaultstoremode = defaultstoremodeTriple.getObject().toString();
Triple contextTriple = query.selectSingle(pageid, "context", null);
if (contextTriple == null)
contextTriple = query.selectSingle(pageid, "Property:Topic_context",
null);
if (contextTriple != null)
context = contextTriple.getObject().toString();
init(query);
} // constructor for Topic
// >>>{user defined topic code}{Topic}{Topic}
PropertyManager properties = new PropertyManager();
TopicLinkManager sourceTopicLinks = new TopicLinkManager();
TopicLinkManager targetTopicLinks = new TopicLinkManager();
Property conceptProperty; // the Property to be used when selecting a
// Concept
/**
* get the Properties
*
* @return
*/
public List<Property> getProperties() {
return properties.mPropertys;
}
/**
* initialize me with the given query
*
* @Override
*/
public void init(TripleQuery query) {
TripleQuery propertyQuery = query.query(null, "addsTo", pageid);
if (propertyQuery != null) {
for (Triple property : propertyQuery.getTriples()) {
properties.add(query, property);
}
}
addTopicLinks(query, sourceTopicLinks, "source");
addTopicLinks(query, targetTopicLinks, "target");
if (name == null) {
name = pageid;
}
if (pluralName == null) {
pluralName = name + "s";
}
// add Properties for targetTopicLinks
// this is the referenced to the "neighbour" Topic
for (TopicLink topicLink : targetTopicLinks.mTopicLinks) {
Property property = new Property();
property.pageid = topicLink.sourceRole;
property.name = property.pageid;
property.label = property.name;
property.type = "Page";
// make sure the form shows the neighbour concept as an option
String sourceName = topicLink.source;
// remove "Concept:" prefix !!! FIXME - this is language dependent
// and a horrible work around for the time being
sourceName = sourceName.replace("Concept:", "");
sourceName = sourceName.replace("Konzept:", "");
property.values_from = "concept=" + sourceName;
property.inputType = "dropdown";
properties.mPropertys.add(property);
}
}
/**
* add the topicLinks
*
* @param query
* - the TripleQuery to get the triples from
* @param tm
* - the TopicLinkManager to add the topic links to
* @param predicate
* - the predicate to be used for linking
*/
public void addTopicLinks(TripleQuery query, TopicLinkManager tm,
String predicate) {
TripleQuery linkQuery = query.query(null, predicate, pageid);
if (linkQuery != null) {
for (Triple linkTriple : linkQuery.getTriples()) {
String link = linkTriple.getSubject().toString();
TopicLink topiclink = new TopicLink(query, link);
tm.mTopicLinks.add(topiclink);
}
}
}
/**
* check my source TopicLinks and set the targetTopic by looking it up
*/
public void linkTargetTopics(TopicManager tm) {
for (TopicLink sourceTopicLink : sourceTopicLinks.mTopicLinks) {
String topicTarget = sourceTopicLink.target; // e.g. Concept:Property;
topicTarget = topicTarget.replace("Concept:", ""); // remove Concept
// part
topicTarget = topicTarget.replace("Koncept:", ""); // remove Concept
// part
Topic targetTopic = tm.byName(topicTarget);
if (targetTopic != null) {
sourceTopicLink.targetTopic = targetTopic;
}
}
}
/**
* set the concept Property for the given target Property
*/
public void setConceptProperty() {
for (Property property : properties.mPropertys) {
if ("true".equals(property.mandatory)
|| "true".equals(property.primaryKey)) {
conceptProperty = property;
break;
}
}
}
// <<<{user defined topic code}{Topic}{Topic}
} // class Topic
/**
* Manager for Topic
*/
static class TopicManager extends TopicBase {
public String topicName = "Topic";
public List<Topic> mTopics = new ArrayList<Topic>();
public Map<String, Topic> mTopicMap = new LinkedHashMap<String, Topic>();
/**
* add a new Topic
*/
public Topic add(Topic pTopic) {
mTopics.add(pTopic);
mTopicMap.put(pTopic.getPageid(), pTopic);
return pTopic;
}
/**
* add a new Topic from the given triple
*/
public Topic add(TripleQuery query, Triple pTopicTriple) {
Topic lTopic = new Topic(query, pTopicTriple);
add(lTopic);
return lTopic;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public TopicManager() {
}
// construct me from the given triple Query query
public TopicManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicQuery = query.query(null, "isA", "Topic");
for (Triple lTopicTriple : lTopicQuery.getTriples()) {
add(query, lTopicTriple);
}
// then the SMW triplestore
lTopicQuery = query.query(null, "Property:IsA", "Topic");
for (Triple lTopicTriple : lTopicQuery.getTriples()) {
add(query, lTopicTriple);
}
init(query);
} // constructor for Topic Manager
// >>>{user defined topicmanager code}{Topic}{Topic}
/**
* get a topic by the given name
*
* @param topicName
* - the name of the topic to get FIXME - speedup?
*/
public Topic byName(String topicName) {
Topic result = null;
for (Topic topic : mTopics) {
if (topicName.equals(topic.name)) {
result = topic;
}
}
return result;
} // byName
/**
* configure Topics: link TargetTopics set Concept Properties
*/
public void configureTopics() {
for (Topic topic : mTopics) {
topic.setConceptProperty();
topic.linkTargetTopics(this);
}
}
// <<<{user defined topicmanager code}{Topic}{Topic}
} // class Topic Manager
/**
* SMW_Type an SMW_Type is a data type which determines the possible values
* for that type e.g. a Boolean can hold true/fals values while a Number can
* hold 3.1459 or 20. A Page can hold the name of a Wiki page see
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
*/
static class SMW_Type extends TopicBase {
String pageid;
String documentation;
String type;
String typepage;
String helppage;
String javaType;
public String getDocumentation() {
return documentation;
}
public void setDocumentation(String pDocumentation) {
documentation = pDocumentation;
}
public String getType() {
return type;
}
public void setType(String pType) {
type = pType;
}
public String getTypepage() {
return typepage;
}
public void setTypepage(String pTypepage) {
typepage = pTypepage;
}
public String getHelppage() {
return helppage;
}
public void setHelppage(String pHelppage) {
helppage = pHelppage;
}
public String getJavaType() {
return javaType;
}
public void setJavaType(String pJavaType) {
javaType = pJavaType;
}
/**
* convert this SMW_Type to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for SMW_Type
*/
public SMW_Type() {
}
/**
* construct a SMW_Type from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pSMW_TypeTriple
* - the triple to construct me from
*/
public SMW_Type(TripleQuery query, Triple pSMW_TypeTriple) {
this(query, pSMW_TypeTriple.getSubject().toString());
} // constructor
/**
* construct a SMW_Type from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public SMW_Type(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple documentationTriple = query.selectSingle(pageid, "documentation",
null);
if (documentationTriple == null)
documentationTriple = query.selectSingle(pageid,
"Property:SMW_Type_documentation", null);
if (documentationTriple != null)
documentation = documentationTriple.getObject().toString();
Triple typeTriple = query.selectSingle(pageid, "type", null);
if (typeTriple == null)
typeTriple = query.selectSingle(pageid, "Property:SMW_Type_type", null);
if (typeTriple != null)
type = typeTriple.getObject().toString();
Triple typepageTriple = query.selectSingle(pageid, "typepage", null);
if (typepageTriple == null)
typepageTriple = query.selectSingle(pageid,
"Property:SMW_Type_typepage", null);
if (typepageTriple != null)
typepage = typepageTriple.getObject().toString();
Triple helppageTriple = query.selectSingle(pageid, "helppage", null);
if (helppageTriple == null)
helppageTriple = query.selectSingle(pageid,
"Property:SMW_Type_helppage", null);
if (helppageTriple != null)
helppage = helppageTriple.getObject().toString();
Triple javaTypeTriple = query.selectSingle(pageid, "javaType", null);
if (javaTypeTriple == null)
javaTypeTriple = query.selectSingle(pageid,
"Property:SMW_Type_javaType", null);
if (javaTypeTriple != null)
javaType = javaTypeTriple.getObject().toString();
init(query);
} // constructor for SMW_Type
// >>>{user defined topic code}{SMW_Type}{SMW_Type}
// <<<{user defined topic code}{SMW_Type}{SMW_Type}
} // class SMW_Type
/**
* Manager for SMW_Type
*/
static class SMW_TypeManager extends TopicBase {
public String topicName = "SMW_Type";
public List<SMW_Type> mSMW_Types = new ArrayList<SMW_Type>();
public Map<String, SMW_Type> mSMW_TypeMap = new LinkedHashMap<String, SMW_Type>();
/**
* add a new SMW_Type
*/
public SMW_Type add(SMW_Type pSMW_Type) {
mSMW_Types.add(pSMW_Type);
mSMW_TypeMap.put(pSMW_Type.getPageid(), pSMW_Type);
return pSMW_Type;
}
/**
* add a new SMW_Type from the given triple
*/
public SMW_Type add(TripleQuery query, Triple pSMW_TypeTriple) {
SMW_Type lSMW_Type = new SMW_Type(query, pSMW_TypeTriple);
add(lSMW_Type);
return lSMW_Type;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public SMW_TypeManager() {
}
// construct me from the given triple Query query
public SMW_TypeManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lSMW_TypeQuery = query.query(null, "isA", "SMW_Type");
for (Triple lSMW_TypeTriple : lSMW_TypeQuery.getTriples()) {
add(query, lSMW_TypeTriple);
}
// then the SMW triplestore
lSMW_TypeQuery = query.query(null, "Property:IsA", "SMW_Type");
for (Triple lSMW_TypeTriple : lSMW_TypeQuery.getTriples()) {
add(query, lSMW_TypeTriple);
}
init(query);
} // constructor for SMW_Type Manager
// >>>{user defined topicmanager code}{SMW_Type}{SMW_Type}
// <<<{user defined topicmanager code}{SMW_Type}{SMW_Type}
} // class SMW_Type Manager
/**
* Property a Property is a Feature/Attribute
*/
static class Property extends TopicBase {
String pageid;
String documentation;
String name;
String type;
String label;
String primaryKey;
String mandatory;
String uploadable;
String size;
String defaultValue;
String inputType;
String namespace;
String values_from;
String allowedValues;
String topic;
public String getDocumentation() {
return documentation;
}
public void setDocumentation(String pDocumentation) {
documentation = pDocumentation;
}
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
public String getType() {
return type;
}
public void setType(String pType) {
type = pType;
}
public String getLabel() {
return label;
}
public void setLabel(String pLabel) {
label = pLabel;
}
public String getPrimaryKey() {
return primaryKey;
}
public void setPrimaryKey(String pPrimaryKey) {
primaryKey = pPrimaryKey;
}
public String getMandatory() {
return mandatory;
}
public void setMandatory(String pMandatory) {
mandatory = pMandatory;
}
public String getUploadable() {
return uploadable;
}
public void setUploadable(String pUploadable) {
uploadable = pUploadable;
}
public String getSize() {
return size;
}
public void setSize(String pSize) {
size = pSize;
}
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String pDefaultValue) {
defaultValue = pDefaultValue;
}
public String getInputType() {
return inputType;
}
public void setInputType(String pInputType) {
inputType = pInputType;
}
public String getNamespace() {
return namespace;
}
public void setNamespace(String pNamespace) {
namespace = pNamespace;
}
public String getValues_from() {
return values_from;
}
public void setValues_from(String pValues_from) {
values_from = pValues_from;
}
public String getAllowedValues() {
return allowedValues;
}
public void setAllowedValues(String pAllowedValues) {
allowedValues = pAllowedValues;
}
public String getTopic() {
return topic;
}
public void setTopic(String pTopic) {
topic = pTopic;
}
/**
* convert this Property to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for Property
*/
public Property() {
}
/**
* construct a Property from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pPropertyTriple
* - the triple to construct me from
*/
public Property(TripleQuery query, Triple pPropertyTriple) {
this(query, pPropertyTriple.getSubject().toString());
} // constructor
/**
* construct a Property from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public Property(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple documentationTriple = query.selectSingle(pageid, "documentation",
null);
if (documentationTriple == null)
documentationTriple = query.selectSingle(pageid,
"Property:Property_documentation", null);
if (documentationTriple != null)
documentation = documentationTriple.getObject().toString();
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query.selectSingle(pageid, "Property:Property_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
Triple typeTriple = query.selectSingle(pageid, "type", null);
if (typeTriple == null)
typeTriple = query.selectSingle(pageid, "Property:Property_type", null);
if (typeTriple != null)
type = typeTriple.getObject().toString();
Triple labelTriple = query.selectSingle(pageid, "label", null);
if (labelTriple == null)
labelTriple = query.selectSingle(pageid, "Property:Property_label",
null);
if (labelTriple != null)
label = labelTriple.getObject().toString();
Triple primaryKeyTriple = query.selectSingle(pageid, "primaryKey", null);
if (primaryKeyTriple == null)
primaryKeyTriple = query.selectSingle(pageid,
"Property:Property_primaryKey", null);
if (primaryKeyTriple != null)
primaryKey = primaryKeyTriple.getObject().toString();
Triple mandatoryTriple = query.selectSingle(pageid, "mandatory", null);
if (mandatoryTriple == null)
mandatoryTriple = query.selectSingle(pageid,
"Property:Property_mandatory", null);
if (mandatoryTriple != null)
mandatory = mandatoryTriple.getObject().toString();
Triple uploadableTriple = query.selectSingle(pageid, "uploadable", null);
if (uploadableTriple == null)
uploadableTriple = query.selectSingle(pageid,
"Property:Property_uploadable", null);
if (uploadableTriple != null)
uploadable = uploadableTriple.getObject().toString();
Triple sizeTriple = query.selectSingle(pageid, "size", null);
if (sizeTriple == null)
sizeTriple = query.selectSingle(pageid, "Property:Property_size", null);
if (sizeTriple != null)
size = sizeTriple.getObject().toString();
Triple defaultValueTriple = query.selectSingle(pageid, "defaultValue",
null);
if (defaultValueTriple == null)
defaultValueTriple = query.selectSingle(pageid,
"Property:Property_defaultValue", null);
if (defaultValueTriple != null)
defaultValue = defaultValueTriple.getObject().toString();
Triple inputTypeTriple = query.selectSingle(pageid, "inputType", null);
if (inputTypeTriple == null)
inputTypeTriple = query.selectSingle(pageid,
"Property:Property_inputType", null);
if (inputTypeTriple != null)
inputType = inputTypeTriple.getObject().toString();
Triple namespaceTriple = query.selectSingle(pageid, "namespace", null);
if (namespaceTriple == null)
namespaceTriple = query.selectSingle(pageid,
"Property:Property_namespace", null);
if (namespaceTriple != null)
namespace = namespaceTriple.getObject().toString();
Triple values_fromTriple = query
.selectSingle(pageid, "values_from", null);
if (values_fromTriple == null)
values_fromTriple = query.selectSingle(pageid,
"Property:Property_values_from", null);
if (values_fromTriple != null)
values_from = values_fromTriple.getObject().toString();
Triple allowedValuesTriple = query.selectSingle(pageid, "allowedValues",
null);
if (allowedValuesTriple == null)
allowedValuesTriple = query.selectSingle(pageid,
"Property:Property_allowedValues", null);
if (allowedValuesTriple != null)
allowedValues = allowedValuesTriple.getObject().toString();
Triple topicTriple = query.selectSingle(pageid, "topic", null);
if (topicTriple == null)
topicTriple = query.selectSingle(pageid, "Property:Property_topic",
null);
if (topicTriple != null)
topic = topicTriple.getObject().toString();
init(query);
} // constructor for Property
// >>>{user defined topic code}{Property}{Property}
@Override
public void init(TripleQuery query) {
if (name == null) {
name = pageid;
}
if (label == null) {
label = name;
}
if (type == null) {
type = "Text";
}
}
// <<<{user defined topic code}{Property}{Property}
} // class Property
/**
* Manager for Property
*/
static class PropertyManager extends TopicBase {
public String topicName = "Property";
public List<Property> mPropertys = new ArrayList<Property>();
public Map<String, Property> mPropertyMap = new LinkedHashMap<String, Property>();
/**
* add a new Property
*/
public Property add(Property pProperty) {
mPropertys.add(pProperty);
mPropertyMap.put(pProperty.getPageid(), pProperty);
return pProperty;
}
/**
* add a new Property from the given triple
*/
public Property add(TripleQuery query, Triple pPropertyTriple) {
Property lProperty = new Property(query, pPropertyTriple);
add(lProperty);
return lProperty;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public PropertyManager() {
}
// construct me from the given triple Query query
public PropertyManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lPropertyQuery = query.query(null, "isA", "Property");
for (Triple lPropertyTriple : lPropertyQuery.getTriples()) {
add(query, lPropertyTriple);
}
// then the SMW triplestore
lPropertyQuery = query.query(null, "Property:IsA", "Property");
for (Triple lPropertyTriple : lPropertyQuery.getTriples()) {
add(query, lPropertyTriple);
}
init(query);
} // constructor for Property Manager
// >>>{user defined topicmanager code}{Property}{Property}
// <<<{user defined topicmanager code}{Property}{Property}
} // class Property Manager
/**
* TopicLink
*
*/
static class TopicLink extends TopicBase {
String pageid;
String name;
String sourceRole;
String sourceMultiple;
String source;
String sourceDocumentation;
String targetRole;
String targetMultiple;
String target;
String masterDetail;
String targetDocumentation;
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
public String getSourceRole() {
return sourceRole;
}
public void setSourceRole(String pSourceRole) {
sourceRole = pSourceRole;
}
public String getSourceMultiple() {
return sourceMultiple;
}
public void setSourceMultiple(String pSourceMultiple) {
sourceMultiple = pSourceMultiple;
}
public String getSource() {
return source;
}
public void setSource(String pSource) {
source = pSource;
}
public String getSourceDocumentation() {
return sourceDocumentation;
}
public void setSourceDocumentation(String pSourceDocumentation) {
sourceDocumentation = pSourceDocumentation;
}
public String getTargetRole() {
return targetRole;
}
public void setTargetRole(String pTargetRole) {
targetRole = pTargetRole;
}
public String getTargetMultiple() {
return targetMultiple;
}
public void setTargetMultiple(String pTargetMultiple) {
targetMultiple = pTargetMultiple;
}
public String getTarget() {
return target;
}
public void setTarget(String pTarget) {
target = pTarget;
}
public String getMasterDetail() {
return masterDetail;
}
public void setMasterDetail(String pMasterDetail) {
masterDetail = pMasterDetail;
}
public String getTargetDocumentation() {
return targetDocumentation;
}
public void setTargetDocumentation(String pTargetDocumentation) {
targetDocumentation = pTargetDocumentation;
}
/**
* convert this TopicLink to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for TopicLink
*/
public TopicLink() {
}
/**
* construct a TopicLink from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pTopicLinkTriple
* - the triple to construct me from
*/
public TopicLink(TripleQuery query, Triple pTopicLinkTriple) {
this(query, pTopicLinkTriple.getSubject().toString());
} // constructor
/**
* construct a TopicLink from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public TopicLink(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query
.selectSingle(pageid, "Property:TopicLink_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
Triple sourceRoleTriple = query.selectSingle(pageid, "sourceRole", null);
if (sourceRoleTriple == null)
sourceRoleTriple = query.selectSingle(pageid,
"Property:TopicLink_sourceRole", null);
if (sourceRoleTriple != null)
sourceRole = sourceRoleTriple.getObject().toString();
Triple sourceMultipleTriple = query.selectSingle(pageid,
"sourceMultiple", null);
if (sourceMultipleTriple == null)
sourceMultipleTriple = query.selectSingle(pageid,
"Property:TopicLink_sourceMultiple", null);
if (sourceMultipleTriple != null)
sourceMultiple = sourceMultipleTriple.getObject().toString();
Triple sourceTriple = query.selectSingle(pageid, "source", null);
if (sourceTriple == null)
sourceTriple = query.selectSingle(pageid, "Property:TopicLink_source",
null);
if (sourceTriple != null)
source = sourceTriple.getObject().toString();
Triple sourceDocumentationTriple = query.selectSingle(pageid,
"sourceDocumentation", null);
if (sourceDocumentationTriple == null)
sourceDocumentationTriple = query.selectSingle(pageid,
"Property:TopicLink_sourceDocumentation", null);
if (sourceDocumentationTriple != null)
sourceDocumentation = sourceDocumentationTriple.getObject().toString();
Triple targetRoleTriple = query.selectSingle(pageid, "targetRole", null);
if (targetRoleTriple == null)
targetRoleTriple = query.selectSingle(pageid,
"Property:TopicLink_targetRole", null);
if (targetRoleTriple != null)
targetRole = targetRoleTriple.getObject().toString();
Triple targetMultipleTriple = query.selectSingle(pageid,
"targetMultiple", null);
if (targetMultipleTriple == null)
targetMultipleTriple = query.selectSingle(pageid,
"Property:TopicLink_targetMultiple", null);
if (targetMultipleTriple != null)
targetMultiple = targetMultipleTriple.getObject().toString();
Triple targetTriple = query.selectSingle(pageid, "target", null);
if (targetTriple == null)
targetTriple = query.selectSingle(pageid, "Property:TopicLink_target",
null);
if (targetTriple != null)
target = targetTriple.getObject().toString();
Triple masterDetailTriple = query.selectSingle(pageid, "masterDetail",
null);
if (masterDetailTriple == null)
masterDetailTriple = query.selectSingle(pageid,
"Property:TopicLink_masterDetail", null);
if (masterDetailTriple != null)
masterDetail = masterDetailTriple.getObject().toString();
Triple targetDocumentationTriple = query.selectSingle(pageid,
"targetDocumentation", null);
if (targetDocumentationTriple == null)
targetDocumentationTriple = query.selectSingle(pageid,
"Property:TopicLink_targetDocumentation", null);
if (targetDocumentationTriple != null)
targetDocumentation = targetDocumentationTriple.getObject().toString();
init(query);
} // constructor for TopicLink
// >>>{user defined topic code}{TopicLink}{TopicLink}
Topic sourceTopic = null;
Topic targetTopic = null;
// <<<{user defined topic code}{TopicLink}{TopicLink}
} // class TopicLink
/**
* Manager for TopicLink
*/
static class TopicLinkManager extends TopicBase {
public String topicName = "TopicLink";
public List<TopicLink> mTopicLinks = new ArrayList<TopicLink>();
public Map<String, TopicLink> mTopicLinkMap = new LinkedHashMap<String, TopicLink>();
/**
* add a new TopicLink
*/
public TopicLink add(TopicLink pTopicLink) {
mTopicLinks.add(pTopicLink);
mTopicLinkMap.put(pTopicLink.getPageid(), pTopicLink);
return pTopicLink;
}
/**
* add a new TopicLink from the given triple
*/
public TopicLink add(TripleQuery query, Triple pTopicLinkTriple) {
TopicLink lTopicLink = new TopicLink(query, pTopicLinkTriple);
add(lTopicLink);
return lTopicLink;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public TopicLinkManager() {
}
// construct me from the given triple Query query
public TopicLinkManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicLinkQuery = query.query(null, "isA", "TopicLink");
for (Triple lTopicLinkTriple : lTopicLinkQuery.getTriples()) {
add(query, lTopicLinkTriple);
}
// then the SMW triplestore
lTopicLinkQuery = query.query(null, "Property:IsA", "TopicLink");
for (Triple lTopicLinkTriple : lTopicLinkQuery.getTriples()) {
add(query, lTopicLinkTriple);
}
init(query);
} // constructor for TopicLink Manager
// >>>{user defined topicmanager code}{TopicLink}{TopicLink}
// <<<{user defined topicmanager code}{TopicLink}{TopicLink}
} // class TopicLink Manager
}
@{
// global variables
// will only be set if tripleStore argument is available e.g. not for dialogs
Topic maintopic=null;
TripleQuery query=null;
TripleQuery topics=null;
ContextManager mContextManager=null;
TopicManager mTopicManager=null;
String maintopicName=null;
if (tripleStore!=null) {
query=tripleStore.query();
topics=query.query(null,"isA","Topic");
mContextManager=new ContextManager(tripleStore);
mTopicManager=new TopicManager(query);
// PropertyManager mPropertyManager=new PropertyManager(query);
// TopicLinkManager mTopicLinkManager=new TopicLinkManager(query);
// SMW_TypeManager mSMW_TypeManager=new SMW_TypeManager(query);
mTopicManager.configureTopics();
maintopicName=wikiTask.getParams();
if (maintopicName!=null) {
maintopic=mTopicManager.byName(maintopicName);
}
}
}
</source>
5295a51d919daf845a519a1abbe4638c84b6c164
File:Index.png
6
161
283
223
2016-01-26T08:13:55Z
Wf
1
Wf uploaded a new version of [[File:Index.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
305
283
2016-02-17T08:24:41Z
Wf
1
Wf uploaded a new version of [[File:Index.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Link.png
6
162
284
224
2016-01-26T08:13:56Z
Wf
1
Wf uploaded a new version of [[File:Link.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
306
284
2016-02-17T08:24:41Z
Wf
1
Wf uploaded a new version of [[File:Link.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Element into input.png
6
163
285
225
2016-01-26T08:13:57Z
Wf
1
Wf uploaded a new version of [[File:Element into input.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
307
285
2016-02-17T08:24:42Z
Wf
1
Wf uploaded a new version of [[File:Element into input.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Component.png
6
164
286
226
2016-01-26T08:13:57Z
Wf
1
Wf uploaded a new version of [[File:Component.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
308
286
2016-02-17T08:24:42Z
Wf
1
Wf uploaded a new version of [[File:Component.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Registry.png
6
165
287
227
2016-01-26T08:13:58Z
Wf
1
Wf uploaded a new version of [[File:Registry.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
309
287
2016-02-17T08:24:43Z
Wf
1
Wf uploaded a new version of [[File:Registry.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Category Icon.png
6
166
288
228
2016-01-26T08:13:59Z
Wf
1
Wf uploaded a new version of [[File:Category Icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
310
288
2016-02-17T08:24:44Z
Wf
1
Wf uploaded a new version of [[File:Category Icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Concept Icon.png
6
167
289
229
2016-01-26T08:14:00Z
Wf
1
Wf uploaded a new version of [[File:Concept Icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
311
289
2016-02-17T08:24:44Z
Wf
1
Wf uploaded a new version of [[File:Concept Icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Help Icon.png
6
168
290
230
2016-01-26T08:14:00Z
Wf
1
Wf uploaded a new version of [[File:Help Icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
312
290
2016-02-17T08:24:45Z
Wf
1
Wf uploaded a new version of [[File:Help Icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:List Icon.png
6
169
291
231
2016-01-26T08:14:01Z
Wf
1
Wf uploaded a new version of [[File:List Icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
313
291
2016-02-17T08:24:46Z
Wf
1
Wf uploaded a new version of [[File:List Icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Icon template.png
6
170
292
232
2016-01-26T08:14:02Z
Wf
1
Wf uploaded a new version of [[File:Icon template.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
314
292
2016-02-17T08:24:46Z
Wf
1
Wf uploaded a new version of [[File:Icon template.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Form icon.jpg
6
171
293
233
2016-01-26T08:14:03Z
Wf
1
Wf uploaded a new version of [[File:Form icon.jpg]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
315
293
2016-02-17T08:24:47Z
Wf
1
Wf uploaded a new version of [[File:Form icon.jpg]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Java icon.png
6
172
294
234
2016-01-26T08:14:04Z
Wf
1
Wf uploaded a new version of [[File:Java icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
316
294
2016-02-17T08:24:47Z
Wf
1
Wf uploaded a new version of [[File:Java icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:BITPlanLogo2012.svg
6
2
295
240
2016-01-26T08:14:17Z
Wf
1
Wf uploaded a new version of [[File:BITPlanLogo2012.svg]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:FixmeIcon.png
6
181
296
252
2016-01-26T08:14:29Z
Wf
1
Wf uploaded a new version of [[File:FixmeIcon.png]]
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:Szenario.png
6
188
298
2016-01-29T15:59:41Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Template:!
10
153
304
205
2016-02-17T08:24:22Z
Wf
1
transfered by WikiBackup wikiTask at 2016-02-17T08:24:21Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:TopicWikitasks
|next=Template:Bigstock
}}
This is the "!" template. Allows to have a | in a template by using <pre>{{¡}}</pre>
</noinclude><includeonly>|</includeonly>
93f8ed43dc274368ab94ac6e4baba0da51328b6b
File:BITPlanLogo2012.svg
6
2
317
295
2016-02-17T08:25:00Z
Wf
1
Wf uploaded a new version of [[File:BITPlanLogo2012.svg]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:FixmeIcon.png
6
181
318
296
2016-02-17T08:25:10Z
Wf
1
Wf uploaded a new version of [[File:FixmeIcon.png]]
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Template:Bigstock
10
192
319
2016-02-17T08:25:10Z
Wf
1
transfered by WikiBackup wikiTask at 2016-02-17T08:25:10Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:!
|next=Template:ContextWikitask
}}
<noinclude>
<!--
-- Copyright (C) 2015-2016 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->
This is the template bigstock it is used to display bigstock photos.
See {{Link|target=Property:Bigstock id}}
=== examples ===
<pre>
{{bigstock
|id=86096639
|title=stock-foto-percent-symbol-and-business-chart-on-financial-paper
|size=200
}}
</pre>
{{bigstock
|id=86096639
|title=stock-foto-percent-symbol-and-business-chart-on-financial-paper
|size=200
}}
=== non paid ===
<pre>
{{bigstock
|id=87055265
}}
</pre>
{{bigstock
|id=87055265
}}
=== copyright ===
<pre>
{{bigstock
|id=86096639
|copyright=true
}}
</pre>
{{bigstock
|id=86096639
|copyright=true
}}
== paid file ==
<pre>
{{bigstock
|id=22569032
|size=200
}}
</pre>
{{bigstock
|id=22569032
|size=200
}}
=== non sized ===
{{bigstock
|id=22569032
}}
=== usage tracking ===
see {{Link|target=Property:Bigstock id}}
=== how it works ===
Bigstock stores the thumbnail images like this:
<pre>http://static1.bigstockphoto.com/thumbs/0/6/8/large2/86096639.jpg</pre>
so <pre>/0/6/8</pre> is just the first three digits of the id in reverse order separated by slashes.
</noinclude><includeonly>{{#vardefine: iconfile|{{#ask: [[Bigstock id::{{{id|}}}]] [[Bigstock file::+]]| ?Bigstock file#= | mainlabel=- | limit=1 }}}}{{#switch:{{{storemode|}}}
|none=
|subobject={{#subobject:-
|isA=Bigstock
|Bigstock id={{{id|}}}
|Bigstock file={{{file|}}}
}}
|#default={{#set:
|isA=Bigstock
|Bigstock id={{{id|}}}
|Bigstock file={{{file|}}}
}}
}}{{#if:{{{copyright|}}}|<br>Foto: © bigstockphoto.com http://www.bigstockphoto.de/image-{{{id|}}}{{{id|}}}|{{#if:{{#var:iconfile}}|[[File:{{#var:iconfile}}{{!}}{{{size|450}}}px]]|<img src="http://static1.bigstockphoto.com/thumbs/{{#sub:{{{id|}}}|2|1}}/{{#sub:{{{id|}}}|1|1}}/{{#sub:{{{id|}}}|0|1}}/large2/{{{id|}}}.jpg" title="{{{title|}}}" {{#if:{{{size|}}}|width="{{{size|}}}"}}>}}}}
</includeonly>
459529f52baa35f36071e73690aa0c8769fc4b1d
Template:HideSideBar
10
193
320
2016-02-17T08:25:11Z
Wf
1
transfered by WikiBackup wikiTask at 2016-02-17T08:25:11Z
wikitext
text/x-wiki
<noinclude>{{TemplateSequence|prev=Template:Fixme|next=Template:Icon}}
This is the "HideSideBar" Template. It hides the sidebar - so be careful where to use it!
=== Example ===
<pre>{{HideSideBar}}</pre>
{{HideSideBar}}
No sidebar? This is on purpose. You need to click edit and uncomment <nowiki>{{HideSideBar}}</nowiki> if you want to do maintainance on this template ...
</noinclude><includeonly><html>
<style>
/** Hide title **/
#firstHeading{
display: none;
}
/** Hide sidebar **/
div#mw-panel {
display: none;
}
#left-navigation {
left: 1em;
}
#mw-head-base,
div#content,
div#footer {
margin-left: 1em;
}
</style>
</html></includeonly>
084c0bfc2b3b34c49d985cdb030897e45e4bd43c
Icons
0
194
321
2016-02-17T08:25:15Z
Wf
1
transfered by WikiBackup wikiTask at 2016-02-17T08:25:12Z
wikitext
text/x-wiki
{{Icon
|name=home
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=edit
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=wrench
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=nav_left_blue
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=nav_right_blue
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sign-in
|size=48
|storemode=subobject
}}
{{Icon
|name=glass
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=music
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=search
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=envelope-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=heart
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=star
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=star-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=user
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=film
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=th-large
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=th
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=th-list
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=check
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=times
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=search-plus
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=search-minus
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=power-off
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=signal
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cog
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=trash-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=home
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=clock-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=road
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=download
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrow-circle-o-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrow-circle-o-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=inbox
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=play-circle-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=repeat
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=refresh
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=list-alt
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=lock
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=flag
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=headphones
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=volume-off
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=volume-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=volume-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=qrcode
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=barcode
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=tag
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=tags
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=book
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bookmark
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=print
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=camera
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=font
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bold
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=italic
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=text-height
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=text-width
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=align-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=align-center
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=align-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=align-justify
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=list
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=outdent
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=indent
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=video-camera
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=picture-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=pencil
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=map-marker
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=adjust
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=tint
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=pencil-square-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=share-square-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=check-square-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrows
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=step-backward
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=fast-backward
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=backward
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=play
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=pause
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=stop
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=forward
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=fast-forward
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=step-forward
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=eject
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=chevron-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=chevron-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=plus-circle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=minus-circle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=times-circle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=check-circle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=question-circle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=info-circle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=crosshairs
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=times-circle-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=check-circle-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=ban
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrow-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrow-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrow-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrow-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=share
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=expand
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=compress
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=plus
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=minus
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=asterisk
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=exclamation-circle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=gift
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=leaf
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=fire
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=eye
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=eye-slash
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=exclamation-triangle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=plane
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=calendar
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=random
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=comment
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=magnet
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=chevron-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=chevron-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=retweet
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=shopping-cart
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=folder
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=folder-open
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrows-v
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrows-h
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bar-chart
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=twitter-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=facebook-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=camera-retro
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=key
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cogs
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=comments
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=thumbs-o-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=thumbs-o-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=star-half
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=heart-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sign-out
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=linkedin-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=thumb-tack
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=external-link
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sign-in
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=trophy
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=github-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=upload
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=lemon-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=phone
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=square-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bookmark-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=phone-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=twitter
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=facebook
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=github
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=unlock
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=credit-card
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=rss
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hdd-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bullhorn
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bell
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=certificate
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hand-o-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hand-o-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hand-o-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hand-o-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrow-circle-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrow-circle-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrow-circle-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrow-circle-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=globe
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=wrench
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=tasks
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=filter
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=briefcase
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrows-alt
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=users
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=link
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cloud
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=flask
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=scissors
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=files-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=paperclip
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=floppy-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bars
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=list-ul
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=list-ol
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=strikethrough
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=underline
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=table
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=magic
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=truck
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=pinterest
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=pinterest-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=google-plus-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=google-plus
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=money
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=caret-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=caret-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=caret-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=caret-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=columns
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sort
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sort-desc
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sort-asc
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=envelope
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=linkedin
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=undo
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=gavel
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=tachometer
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=comment-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=comments-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bolt
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sitemap
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=umbrella
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=clipboard
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=lightbulb-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=exchange
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cloud-download
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cloud-upload
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=user-md
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=stethoscope
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=suitcase
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bell-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=coffee
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cutlery
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file-text-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=building-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hospital-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=ambulance
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=medkit
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=fighter-jet
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=beer
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=h-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=plus-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=angle-double-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=angle-double-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=angle-double-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=angle-double-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=angle-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=angle-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=angle-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=angle-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=desktop
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=laptop
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=tablet
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=mobile
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=circle-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=quote-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=quote-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=spinner
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=circle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=reply
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=github-alt
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=folder-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=folder-open-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=smile-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=frown-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=meh-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=gamepad
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=keyboard-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=flag-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=flag-checkered
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=terminal
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=code
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=reply-all
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=star-half-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=location-arrow
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=crop
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=code-fork
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=chain-broken
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=question
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=info
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=exclamation
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=superscript
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=subscript
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=eraser
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=puzzle-piece
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=microphone
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=microphone-slash
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=shield
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=calendar-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=fire-extinguisher
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=rocket
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=maxcdn
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=chevron-circle-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=chevron-circle-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=chevron-circle-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=chevron-circle-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=html5
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=css3
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=anchor
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=unlock-alt
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bullseye
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=ellipsis-h
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=ellipsis-v
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=rss-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=play-circle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=ticket
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=minus-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=minus-square-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=level-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=level-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=check-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=pencil-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=external-link-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=share-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=compass
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=caret-square-o-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=caret-square-o-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=caret-square-o-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=eur
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=gbp
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=usd
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=inr
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=jpy
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=rub
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=krw
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=btc
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file-text
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sort-alpha-asc
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sort-alpha-desc
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sort-amount-asc
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sort-amount-desc
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sort-numeric-asc
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sort-numeric-desc
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=thumbs-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=thumbs-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=youtube-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=youtube
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=xing
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=xing-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=youtube-play
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=dropbox
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=stack-overflow
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=instagram
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=flickr
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=adn
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bitbucket
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bitbucket-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=tumblr
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=tumblr-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=long-arrow-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=long-arrow-up
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=long-arrow-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=long-arrow-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=apple
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=windows
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=android
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=linux
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=dribbble
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=skype
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=foursquare
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=trello
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=female
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=male
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=gratipay
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sun-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=moon-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=archive
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bug
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=vk
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=weibo
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=renren
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=pagelines
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=stack-exchange
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrow-circle-o-right
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=arrow-circle-o-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=caret-square-o-left
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=dot-circle-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=wheelchair
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=vimeo-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=try
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=plus-square-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=space-shuttle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=slack
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=envelope-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=wordpress
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=openid
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=university
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=graduation-cap
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=yahoo
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=google
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=reddit
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=reddit-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=stumbleupon-circle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=stumbleupon
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=delicious
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=digg
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=pied-piper
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=pied-piper-alt
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=drupal
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=joomla
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=language
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=fax
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=building
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=child
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=paw
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=spoon
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cube
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cubes
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=behance
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=behance-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=steam
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=steam-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=recycle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=car
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=taxi
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=tree
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=spotify
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=deviantart
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=soundcloud
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=database
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file-pdf-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file-word-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file-excel-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file-powerpoint-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file-image-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file-archive-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file-audio-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file-video-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=file-code-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=vine
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=codepen
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=jsfiddle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=life-ring
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=circle-o-notch
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=rebel
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=empire
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=git-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=git
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hacker-news
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=tencent-weibo
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=qq
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=weixin
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=paper-plane
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=paper-plane-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=history
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=circle-thin
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=header
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=paragraph
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sliders
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=share-alt
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=share-alt-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bomb
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=futbol-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=tty
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=binoculars
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=plug
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=slideshare
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=twitch
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=yelp
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=newspaper-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=wifi
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=calculator
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=paypal
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=google-wallet
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cc-visa
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cc-mastercard
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cc-discover
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cc-amex
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cc-paypal
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cc-stripe
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bell-slash
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bell-slash-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=trash
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=copyright
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=at
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=eyedropper
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=paint-brush
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=birthday-cake
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=area-chart
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=pie-chart
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=line-chart
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=lastfm
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=lastfm-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=toggle-off
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=toggle-on
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bicycle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bus
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=ioxhost
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=angellist
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cc
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=ils
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=meanpath
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=buysellads
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=connectdevelop
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=dashcube
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=forumbee
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=leanpub
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sellsy
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=shirtsinbulk
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=simplybuilt
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=skyatlas
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cart-plus
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cart-arrow-down
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=diamond
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=ship
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=user-secret
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=motorcycle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=street-view
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=heartbeat
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=venus
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=mars
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=mercury
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=transgender
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=transgender-alt
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=venus-double
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=mars-double
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=venus-mars
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=mars-stroke
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=mars-stroke-v
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=mars-stroke-h
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=neuter
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=genderless
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=facebook-official
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=pinterest-p
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=whatsapp
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=server
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=user-plus
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=user-times
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=bed
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=viacoin
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=train
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=subway
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=medium
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=y-combinator
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=optin-monster
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=opencart
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=expeditedssl
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=battery-full
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=battery-three-quarters
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=battery-half
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=battery-quarter
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=battery-empty
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=mouse-pointer
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=i-cursor
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=object-group
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=object-ungroup
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sticky-note
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=sticky-note-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cc-jcb
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=cc-diners-club
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=clone
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=balance-scale
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hourglass-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hourglass-start
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hourglass-half
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hourglass-end
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hourglass
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hand-rock-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hand-paper-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hand-scissors-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hand-lizard-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hand-spock-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hand-pointer-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=hand-peace-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=trademark
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=registered
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=creative-commons
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=gg
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=gg-circle
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=tripadvisor
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=odnoklassniki
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=odnoklassniki-square
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=get-pocket
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=wikipedia-w
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=safari
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=chrome
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=firefox
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=opera
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=internet-explorer
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=television
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=contao
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=500px
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=amazon
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=calendar-plus-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=calendar-minus-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=calendar-times-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=calendar-check-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=industry
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=map-pin
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=map-signs
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=map-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=map
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=commenting
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=commenting-o
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=houzz
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=vimeo
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=black-tie
|style=shadow
|size=48
|storemode=subobject
}}
{{Icon
|name=fonticons
|style=shadow
|size=48
|storemode=subobject
}}
[[Category:Icon]]
1697493f58c0a7a07a939026c074c017eb792aeb
File:15x18-fileicon-pdf.png
6
195
322
2016-02-17T08:25:21Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Template:Action
10
144
323
188
2016-02-17T08:25:22Z
Wf
1
transfered by WikiBackup wikiTask at 2016-02-17T08:25:21Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->
<!--
-- Copyright (C) 2015 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->
This is the template {{Link|target=Template:Action|title=Action}}.
It belongs to the concept/topic {{Link|target=:Concept:Action}}<br>
You may find examples for the use of this template via the {{Link|target=List of Actions}}.
=== Usage ===
==== storemode subobject ====
<pre>{{Action
|name=
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|engine=
|author=
|since=
|comment=
|storemode=subobject
}}
</pre>
==== storemode property ====
<pre>{{Action
|name=
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|engine=
|author=
|since=
|comment=
|storemode=property
}}
</pre>
==== storemode none ====
<pre>{{Action
|name=
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|engine=
|author=
|since=
|comment=
|storemode=none
}}
</pre>
==== viewmode tableheader ====
<pre>{{Action
|name=
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|engine=
|author=
|since=
|comment=
|viewmode=tableheader
}}
</pre>
==== viewmode tablerow ====
<pre>{{Action
|name=
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|engine=
|author=
|since=
|comment=
|viewmode=tablerow
}}
</pre>
==== viewmode tablefooter ====
<pre>{{Action
|name=
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|engine=
|author=
|since=
|comment=
|viewmode=tablefooter
}}
</pre>
==== viewmode labelfield ====
<pre>{{Action
|name=
|servicetype=
|service=
|inputtype=
|input=
|actionpage=
|output=
|engine=
|author=
|since=
|comment=
|viewmode=labelfield
}}
</pre>
=== Source (pretty printed) ===
<source lang='html4strict'>
{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Action<br>|}}
{{#if:{{{?name|}}}|"{{{?name}}}" is name of it <br>|}}
{{#if:{{{?servicetype|}}}|"{{{?servicetype}}}" is servicetype of it <br>|}}
{{#if:{{{?service|}}}|"{{{?service}}}" is service of it <br>|}}
{{#if:{{{?inputtype|}}}|"{{{?inputtype}}}" is inputtype of it <br>|}}
{{#if:{{{?input|}}}|"{{{?input}}}" is input of it <br>|}}
{{#if:{{{?actionpage|}}}|"{{{?actionpage}}}" is actionpage of it <br>|}}
{{#if:{{{?output|}}}|"{{{?output}}}" is output of it <br>|}}
{{#if:{{{?engine|}}}|"{{{?engine}}}" is engine of it <br>|}}
{{#if:{{{?author|}}}|"{{{?author}}}" is author of it <br>|}}
{{#if:{{{?since|}}}|"{{{?since}}}" is since of it <br>|}}
{{#if:{{{?comment|}}}|"{{{?comment}}}" is comment of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|subobject={{#subobject:-
|isA=Action
|Action name={{{name|}}}
|Action servicetype={{{servicetype|}}}
|Action service={{{service|}}}
|Action inputtype={{{inputtype|}}}
|Action input={{{input|}}}
|Action actionpage={{{actionpage|}}}
|Action output={{{output|}}}
|Action engine={{{engine|}}}
|Action author={{{author|}}}
|Action since={{{since|}}}
|Action comment={{{comment|}}}
}}
|{{#set:
|isA=Action
|Action name={{{name|}}}
|Action servicetype={{{servicetype|}}}
|Action service={{{service|}}}
|Action inputtype={{{inputtype|}}}
|Action input={{{input|}}}
|Action actionpage={{{actionpage|}}}
|Action output={{{output|}}}
|Action engine={{{engine|}}}
|Action author={{{author|}}}
|Action since={{{since|}}}
|Action comment={{{comment|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
|tableheader={{{!}} class='wikitable'
!name!!servicetype!!service!!inputtype!!input!!actionpage!!output!!engine!!author!!since!!comment
{{!}}-
|tablerow=
{{!}}{{{name|}}}{{!}}{{!}}{{{servicetype|}}}{{!}}{{!}}{{{service|}}}{{!}}{{!}}{{{inputtype|}}}{{!}}{{!}}{{{input|}}}{{!}}{{!}}{{{actionpage|}}}{{!}}{{!}}{{{output|}}}{{!}}{{!}}{{{engine|}}}{{!}}{{!}}{{{author|}}}{{!}}{{!}}{{{since|}}}{{!}}{{!}}{{{comment|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
name={{#if:{{{name|}}}|{{{name|}}}|}}<br>servicetype={{#if:{{{servicetype|}}}|{{{servicetype|}}}|}}<br>service={{#if:{{{service|}}}|{{{service|}}}|}}<br>inputtype={{#if:{{{inputtype|}}}|{{{inputtype|}}}|}}<br>input={{#if:{{{input|}}}|{{{input|}}}|}}<br>actionpage={{#if:{{{actionpage|}}}|[[{{{actionpage|}}}]]|}}<br>output={{#if:{{{output|}}}|{{{output|}}}|}}<br>engine={{#if:{{{engine|}}}|{{{engine|}}}|}}<br>author={{#if:{{{author|}}}|[[{{{author|}}}]]|}}<br>since={{#if:{{{since|}}}|{{{since|}}}|}}<br>comment={{#if:{{{comment|}}}|{{{comment|}}}|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Action
{{!}}-
{{#switch:{{{storemode|}}}|property=
! colspan='2' style='text-align:left' {{!}} {{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Action/{{FULLPAGENAME}}|title=edit}}
{{!}}-
}}
!name
{{!}} {{#if:{{{name|}}}|{{{name|}}}|}}
{{!}}-
!servicetype
{{!}} {{#if:{{{servicetype|}}}|{{{servicetype|}}}|}}
{{!}}-
!service
{{!}} {{#if:{{{service|}}}|{{{service|}}}|}}
{{!}}-
!inputtype
{{!}} {{#if:{{{inputtype|}}}|{{{inputtype|}}}|}}
{{!}}-
!input
{{!}} {{#if:{{{input|}}}|{{{input|}}}|}}
{{!}}-
!actionpage
{{!}} {{#if:{{{actionpage|}}}|[[{{{actionpage|}}}]]|}}
{{!}}-
!output
{{!}} {{#if:{{{output|}}}|{{{output|}}}|}}
{{!}}-
!engine
{{!}} {{#if:{{{engine|}}}|{{{engine|}}}|}}
{{!}}-
!author
{{!}} {{#if:{{{author|}}}|[[{{{author|}}}]]|}}
{{!}}-
!since
{{!}} {{#if:{{{since|}}}|{{{since|}}}|}}
{{!}}-
!comment
{{!}} {{#if:{{{comment|}}}|{{{comment|}}}|}}
{{!}}-
{{!}}}
}}
}}
</source>
=== Source ===
Click on "Edit" to edit the noinclude-part Source of this Template.
[[Category:Template]]
</noinclude><includeonly>{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Action<br>|}}
{{#if:{{{?name|}}}|"{{{?name}}}" is name of it <br>|}}
{{#if:{{{?servicetype|}}}|"{{{?servicetype}}}" is servicetype of it <br>|}}
{{#if:{{{?service|}}}|"{{{?service}}}" is service of it <br>|}}
{{#if:{{{?inputtype|}}}|"{{{?inputtype}}}" is inputtype of it <br>|}}
{{#if:{{{?input|}}}|"{{{?input}}}" is input of it <br>|}}
{{#if:{{{?actionpage|}}}|"{{{?actionpage}}}" is actionpage of it <br>|}}
{{#if:{{{?output|}}}|"{{{?output}}}" is output of it <br>|}}
{{#if:{{{?engine|}}}|"{{{?engine}}}" is engine of it <br>|}}
{{#if:{{{?author|}}}|"{{{?author}}}" is author of it <br>|}}
{{#if:{{{?since|}}}|"{{{?since}}}" is since of it <br>|}}
{{#if:{{{?comment|}}}|"{{{?comment}}}" is comment of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|subobject={{#subobject:-
|isA=Action
|Action name={{{name|}}}
|Action servicetype={{{servicetype|}}}
|Action service={{{service|}}}
|Action inputtype={{{inputtype|}}}
|Action input={{{input|}}}
|Action actionpage={{{actionpage|}}}
|Action output={{{output|}}}
|Action engine={{{engine|}}}
|Action author={{{author|}}}
|Action since={{{since|}}}
|Action comment={{{comment|}}}
}}
|{{#set:
|isA=Action
|Action name={{{name|}}}
|Action servicetype={{{servicetype|}}}
|Action service={{{service|}}}
|Action inputtype={{{inputtype|}}}
|Action input={{{input|}}}
|Action actionpage={{{actionpage|}}}
|Action output={{{output|}}}
|Action engine={{{engine|}}}
|Action author={{{author|}}}
|Action since={{{since|}}}
|Action comment={{{comment|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
|tableheader={{{!}} class='wikitable'
!name!!servicetype!!service!!inputtype!!input!!actionpage!!output!!engine!!author!!since!!comment
{{!}}-
|tablerow=
{{!}}{{{name|}}}{{!}}{{!}}{{{servicetype|}}}{{!}}{{!}}{{{service|}}}{{!}}{{!}}{{{inputtype|}}}{{!}}{{!}}{{{input|}}}{{!}}{{!}}{{{actionpage|}}}{{!}}{{!}}{{{output|}}}{{!}}{{!}}{{{engine|}}}{{!}}{{!}}{{{author|}}}{{!}}{{!}}{{{since|}}}{{!}}{{!}}{{{comment|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
name={{#if:{{{name|}}}|{{{name|}}}|}}<br>servicetype={{#if:{{{servicetype|}}}|{{{servicetype|}}}|}}<br>service={{#if:{{{service|}}}|{{{service|}}}|}}<br>inputtype={{#if:{{{inputtype|}}}|{{{inputtype|}}}|}}<br>input={{#if:{{{input|}}}|{{{input|}}}|}}<br>actionpage={{#if:{{{actionpage|}}}|[[{{{actionpage|}}}]]|}}<br>output={{#if:{{{output|}}}|{{{output|}}}|}}<br>engine={{#if:{{{engine|}}}|{{{engine|}}}|}}<br>author={{#if:{{{author|}}}|[[{{{author|}}}]]|}}<br>since={{#if:{{{since|}}}|{{{since|}}}|}}<br>comment={{#if:{{{comment|}}}|{{{comment|}}}|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Action
{{!}}-
{{#switch:{{{storemode|}}}|property=
! colspan='2' style='text-align:left' {{!}} {{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Action/{{FULLPAGENAME}}|title=edit}}
{{!}}-
}}
!name
{{!}} {{#if:{{{name|}}}|{{{name|}}}|}}
{{!}}-
!servicetype
{{!}} {{#if:{{{servicetype|}}}|{{{servicetype|}}}|}}
{{!}}-
!service
{{!}} {{#if:{{{service|}}}|{{{service|}}}|}}
{{!}}-
!inputtype
{{!}} {{#if:{{{inputtype|}}}|{{{inputtype|}}}|}}
{{!}}-
!input
{{!}} {{#if:{{{input|}}}|{{{input|}}}|}}
{{!}}-
!actionpage
{{!}} {{#if:{{{actionpage|}}}|[[{{{actionpage|}}}]]|}}
{{!}}-
!output
{{!}} {{#if:{{{output|}}}|{{{output|}}}|}}
{{!}}-
!engine
{{!}} {{#if:{{{engine|}}}|{{{engine|}}}|}}
{{!}}-
!author
{{!}} {{#if:{{{author|}}}|[[{{{author|}}}]]|}}
{{!}}-
!since
{{!}} {{#if:{{{since|}}}|{{{since|}}}|}}
{{!}}-
!comment
{{!}} {{#if:{{{comment|}}}|{{{comment|}}}|}}
{{!}}-
{{!}}}
}}
{{wikitask|cmd=login|input={{urlencode:{{#realname:Visitor}}}}}}
{{wikitask|cmd=reset}}
{{wikitask|cmd=runtemplate|engine={{{engine|}}}|input={{{input|}}}|template={{{actionpage|}}}|targetpage={{{output|}}}}}
}}
</includeonly>
6ecdcfa8cfea44dac3a3294979b12cd8b815e46e
GenerateProperties
0
196
324
2016-02-17T08:25:23Z
Wf
1
transfered by WikiBackup wikiTask at 2016-02-17T08:25:22Z
wikitext
text/x-wiki
{{Action
|name=GenerateProperties
|servicetype=WikiTask
|inputtype=Page
|input={{FULLPAGENAME}}#sidif
|actionpage={{FULLPAGENAME}}#template
|output={{FULLPAGENAME}}#result
|engine=rythm
|author=Wf
|since=2015/11/18
|comment=This saves a lot of work!
|storemode=property
}}
__NOCACHE__
* {{Link|target=Concept:Action}}
* {{Link|target=Template:Action}}
* {{Link|target=Template:Wikitask}}
= input =
=== sidif ===
<source lang='java' id='sidif'>
Presentation isA Context
"Presentation#sidif"is sidif of it
Bigstock needs Properties
</source>
=== Training sidif ===
<source lang='java' id='trainingsidif'>
Training isA Context
"Training#sidif"is sidif of it
Quizkarte needs Properties
</source>
=== Syllabus sidif ===
<source lang='java' id='syllabussidif'>
Syllabus isA Context
"Syllabus#sidif"is sidif of it
LearningGoal needs Properties
</source>
=== CRM Sidif ===
<source lang='java' id='crmsidif'>
CRM isA Context
"CRM#sidif"is sidif of it
Organization needs Properties
Person needs Properties
Contact needs Properties
SocialLink needs Properties
</source>
= template =
<source lang='java' id='dialog'>
@// This is a rythm template
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import org.sidif.wiki.SSLWiki
@import com.bitplan.topic.ContextSetting.TripleStoreMode
@import com.alibaba.fastjson.JSON
@import com.bitplan.mediawiki.japi.MediawikiApi
@import com.bitplan.mediawiki.japi.Mediawiki
@import com.bitplan.mediawiki.japi.api.Api
@include(wiki.SiDIFTemplates.propertiesdefs)
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@{
TripleQuery query=tripleStore.query();
TripleQuery needed=query.query(null,"needs","Properties");
Triple contextTriple=query.selectSingle(null,"isA","Context");
String contextName=contextTriple.getSubject().toString();
Triple sidifTriple=query.selectSingle(contextName,"sidif", null);
String contextSidif=sidifTriple.getObject().toString();
// now get the context
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
contextSetting.setContextName(contextName);
contextSetting.setSidifInput(contextSidif);
contextSetting.setTripleStoreMode(TripleStoreMode.SiDIF);
Context context = ContextFactory.getInstance().getContext(contextSetting);
}
@(wikiTask.getWiki().getIsoTimeStamp())
@(needed.size()) Topics need Properties to be generated
@for (Triple neededTriple:needed.getTriples()) {
@{
String topicName=neededTriple.getSubject().toString();
Topic topic=context.byName(topicName);
}
== Topic: @(topicName) ==
=== properties of @(topic.name) ===
@for (Property property:topic.getProperties()) {
==== [[Property:@(topic.name) @(property.name)]] ====
@{
Throwable error=null;
try {
// get the Rythm template result
org.rythmengine.utils.RawData pageContentRaw=property(topic,property);
String pageContent=pageContentRaw.toString();
String pageTitle="Property:"+topic.name+" "+property.name;
SSLWiki wiki=(SSLWiki)wikiTask.getWiki();
String currentContent=wiki.getPageContent(pageTitle);
// if (currentContent==null || currentContent.length()==0) {
String summary="generated by GenerateProperties at "+wiki.getIsoTimeStamp();
wiki.edit(pageTitle,pageContent,summary);
// }
} catch (Throwable th) {
error=th;
}
}
@if (error) {
<span style='color:red'>Error: @(error.getMessage())</span>
}
<pre>
@property(topic,property)
</pre>
}
}
</source>
{{#default_form:Action}}
= result =
2016-02-10T06:54:11Z
1 Topics need Properties to be generated
== Topic: Bigstock ==
=== properties of Bigstock ===
==== [[Property:Bigstock id]] ====
<pre>
{{Property
|name=id
|label=id
|documentation=the id of the bigstock photo
|type=Special:Types/Text
|index=1
|sortPos=
|primaryKey=true
|mandatory=true
|namespace=
|size=8
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Bigstock
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Bigstock file]] ====
<pre>
{{Property
|name=file
|label=file
|documentation=the downloaded bigstock file - if it is downloaded a license has been paid for
|type=Special:Types/Page
|index=2
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=File
|size=100
|uploadable=true
|defaultValue=
|inputType=
|allowedValues=
|values_from=namespace=File
|showInGrid=false
|isLink=false
|topic=Concept:Bigstock
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
= Links =
<headertabs/>
0a18c09150f5b3575cfa5d458743055618afdb84
File:Actionicon.png
6
197
325
2016-02-17T08:25:24Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Szenarien.pptx
6
198
327
2016-03-15T10:33:20Z
Wf
1
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:File graph GraphVizExtensionDummy dot.svg
6
199
328
2017-01-15T06:55:52Z
Wf
1
generated by the GraphViz [[Special:Version#Installed_extensions|extension]] from the [[File]] page
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
330
328
2017-01-15T07:34:02Z
163.172.65.119
0
generated by the GraphViz [[Special:Version#Installed_extensions|extension]] from the [[File:File graph GraphVizExtensionDummy dot.svg]] page
wikitext
text/x-wiki
[[Category:GraphViz]][[Category:GraphViz dot]]
d1f9cf68e993d59c3c9ce3627f507a743ad6138b
MediaWiki:Sidebar
8
200
329
2017-01-15T06:55:52Z
Wf
1
Created page with "* navigation ** mainpage|mainpage-description * BITPlan partner site ** Special:Categories|Browse categories ** recentchanges-url|recentchanges ** Special:ListFiles|Browse fil..."
wikitext
text/x-wiki
* navigation
** mainpage|mainpage-description
* BITPlan partner site
** Special:Categories|Browse categories
** recentchanges-url|recentchanges
** Special:ListFiles|Browse files
** randompage-url|randompage
* Help
** helppage|help
* SEARCH
* TOOLBOX
* LANGUAGES
3b22af754c6cb8e656cadea0320aa9ea51747b28
MediaWiki:Smw import skos
8
201
331
2017-10-28T17:43:40Z
127.0.0.1
0
Semantic MediaWiki default vocabulary import
wikitext
text/x-wiki
http://www.w3.org/2004/02/skos/core#|[http://www.w3.org/TR/skos-reference/skos.rdf Simple Knowledge Organization System (SKOS)]
altLabel|Type:Monolingual text
broader|Type:Annotation URI
broaderTransitive|Type:Annotation URI
broadMatch|Type:Annotation URI
changeNote|Type:Text
closeMatch|Type:Annotation URI
Collection|Class
Concept|Class
ConceptScheme|Class
definition|Type:Text
editorialNote|Type:Text
exactMatch|Type:Annotation URI
example|Type:Text
hasTopConcept|Type:Page
hiddenLabel|Type:String
historyNote|Type:Text
inScheme|Type:Page
mappingRelation|Type:Page
member|Type:Page
memberList|Type:Page
narrower|Type:Annotation URI
narrowerTransitive|Type:Annotation URI
narrowMatch|Type:Annotation URI
notation|Type:Text
note|Type:Text
OrderedCollection|Class
prefLabel|Type:String
related|Type:Annotation URI
relatedMatch|Type:Annotation URI
scopeNote|Type:Text
semanticRelation|Type:Page
topConceptOf|Type:Page
[[Category:Imported vocabulary]]
4327e3118f75f756b955108e04693a361d19c2cb
MediaWiki:Smw import foaf
8
202
332
2017-10-28T17:43:40Z
127.0.0.1
0
Semantic MediaWiki default vocabulary import
wikitext
text/x-wiki
http://xmlns.com/foaf/0.1/|[http://www.foaf-project.org/ Friend Of A Friend]
name|Type:Text
homepage|Type:URL
mbox|Type:Email
mbox_sha1sum|Type:Text
depiction|Type:URL
phone|Type:Text
Person|Category
Organization|Category
knows|Type:Page
member|Type:Page
[[Category:Imported vocabulary]]
2be18fc91e334e0c7f23bea734cdc2a301fd86e8
MediaWiki:Smw import owl
8
203
333
2017-10-28T17:43:40Z
127.0.0.1
0
Semantic MediaWiki default vocabulary import
wikitext
text/x-wiki
http://www.w3.org/2002/07/owl#|[http://www.w3.org/2002/07/owl Web Ontology Language (OWL)]
AllDifferent|Category
allValuesFrom|Type:Page
AnnotationProperty|Category
backwardCompatibleWith|Type:Page
cardinality|Type:Number
Class|Category
comment|Type:Page
complementOf|Type:Page
DataRange|Category
DatatypeProperty|Category
DeprecatedClass|Category
DeprecatedProperty|Category
differentFrom|Type:Page
disjointWith|Type:Page
distinctMembers|Type:Page
equivalentClass|Type:Page
equivalentProperty|Type:Page
FunctionalProperty|Category
hasValue|Type:Page
imports|Type:Page
incompatibleWith|Type:Page
intersectionOf|Type:Page
InverseFunctionalProperty|Category
inverseOf|Type:Page
isDefinedBy|Type:Page
label|Type:Page
maxCardinality|Type:Number
minCardinality|Type:Number
Nothing|Category
ObjectProperty|Category
oneOf|Type:Page
onProperty|Type:Page
Ontology|Category
OntologyProperty|Category
owl|Type:Page
priorVersion|Type:Page
Restriction|Category
sameAs|Type:Page
seeAlso|Type:Page
someValuesFrom|Type:Page
SymmetricProperty|Category
Thing|Category
TransitiveProperty|Category
unionOf|Type:Page
versionInfo|Type:Page
[[Category:Imported vocabulary]]
c109cc4c667590611dc35b3d06655129c572809a
Property:Foaf:knows
102
204
334
2017-10-28T17:43:40Z
127.0.0.1
0
Semantic MediaWiki default vocabulary import
wikitext
text/x-wiki
* [[Imported from::foaf:knows]]
* [[Has property description::A person known by this person (indicating some level of reciprocated interaction between the parties).@en]]
[[Category:Imported vocabulary]] {{DISPLAYTITLE:foaf:knows}}
2e89ed95e185b4c58a7a5447384e5849a1e3c7f3
Property:Foaf:name
102
205
335
2017-10-28T17:43:40Z
127.0.0.1
0
Semantic MediaWiki default vocabulary import
wikitext
text/x-wiki
* [[Imported from::foaf:name]]
* [[Has property description::A name for some thing or agent.@en]]
[[Category:Imported vocabulary]]{{DISPLAYTITLE:foaf:name}}
c7ea16f5cc0a25bd5d35c418f8590635e1a59104
Property:Foaf:homepage
102
206
336
2017-10-28T17:43:40Z
127.0.0.1
0
Semantic MediaWiki default vocabulary import
wikitext
text/x-wiki
* [[Imported from::foaf:homepage]]
* [[Has property description::URL of the homepage of something, which is a general web resource.@en]]
[[Category:Imported vocabulary]] {{DISPLAYTITLE:foaf:homepage}}
196c572bc4f2be88cd6d3ed8d07b37fa1549930b
Property:Owl:differentFrom
102
207
337
2017-10-28T17:43:40Z
127.0.0.1
0
Semantic MediaWiki default vocabulary import
wikitext
text/x-wiki
* [[Imported from::owl:differentFrom]]
* [[Has property description::The property that determines that two given individuals are different.@en]]
[[Category:Imported vocabulary]] {{DISPLAYTITLE:owl:differentFrom}}
1c0d6ecdafcfea48f8f2200a81155a64419fa055
SMW Types
0
30
338
68
2017-11-05T18:05:05Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:04Z
wikitext
text/x-wiki
=SMW_Type=
{{SMW Type
|type=Annotation URI
|documentation=Holds URIs, but has some technical differences during export compared to the 'URL' type
|id=_anu
|helppage=https://semantic-mediawiki.org/wiki/Help:Annotation_URI
|typepage=Special:Types/Annotation_URI
|storemode=subobject
}}
{{SMW Type
|type=Boolean
|documentation=Holds boolean (true/false) values
|id=_boo
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Boolean
|typepage=Special:Types/Boolean
|javaType=boolean
|storemode=subobject
}}
{{SMW Type
|type=Code
|documentation=Holds technical, pre-formatted texts (similar to type Text)
|id=_cod
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Code
|typepage=Special:Types/Code
|javaType=String
|storemode=subobject
}}
{{SMW Type
|type=Date
|documentation=Holds particular points in time
|id=_dat
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Date
|typepage=Special:Types/Date
|javaType=java.util.Date
|storemode=subobject
}}
{{SMW Type
|type=Email
|documentation=Holds e-mail addresses
|id=_ema
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Email
|typepage=Special:Types/Email
|storemode=subobject
}}
{{SMW Type
|type=External identifier
|documentation=Holds a value that associates it with with a external URI for formatting
|id=_eid
|helppage=https://www.semantic-mediawiki.org/wiki/Help:Type_External_identifier
|typepage=Special:Types/External_identifier
|storemode=subobject
}}
{{SMW Type
|type=Geographic coordinate
|documentation=Holds coordinates describing geographic locations
|id=_geo
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Geographic_coordinate
|typepage=Special:Types/Geographic_coordinate
|storemode=subobject
}}
{{SMW Type
|type=Monolingual text
|documentation=Holds a text value that associates the annotation with a specific language code
|id=_mlt_rec
|helppage=https://www.semantic-mediawiki.org/wiki/Help:Type_Monolingual_text
|typepage=Special:Types/Monolingual text
|storemode=subobject
}}
{{SMW Type
|type=Number
|documentation=Holds integer and decimal numbers, with an optional exponent
|id=_num
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Number
|typepage=Special:Types/Number
|storemode=subobject
}}
{{SMW Type
|type=Page
|documentation=Holds names of wiki pages, and displays them as a link
|id=_wpg
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Page
|typepage=Special:Types/Page
|storemode=subobject
}}
{{SMW Type
|type=Quantity
|documentation=Holds values that describe quantities, containing both a number and a unit
|id=_qty
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Quantity
|typepage=Special:Types/Quantity
|storemode=subobject
}}
{{SMW Type
|type=Record
|documentation=Allows saving compound property values that consist of a short list of values with fixed type and order
|id=_rec
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Record
|typepage=Special:Types/Record
|storemode=subobject
}}
{{SMW Type
|type=Telephone number
|documentation=Holds international telephone numbers based on the [https://tools.ietf.org/html/rfc3966 RFC 3966 standard]
|id=_tel
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Telephone_number
|typepage=Special:Types/Telephone_number
|storemode=subobject
}}
{{SMW Type
|type=Temperature
|documentation=Holds temperature values (similar to type Quantity)
|id=_tem
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Temperature
|typepage=Special:Types/Temperature
|storemode=subobject
}}
{{SMW Type
|type=Reference
|documentation=Holds a value that associates it to individual defined provenance metadata record
|id=_ref_rec
|helppage=https://www.semantic-mediawiki.org/wiki/Help:Type_Reference
|typepage=Special:Types/Reference
|storemode=subobject
}}
{{SMW Type
|type=Text
|documentation=Holds text of arbitrary length
|id=_txt
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_Text
|typepage=Special:Types/Text
|javaType=String
|storemode=subobject
}}
{{SMW Type
|type=URL
|documentation=Holds URIs, URNs and URLs
|id=_uri
|helppage=https://semantic-mediawiki.org/wiki/Help:Type_URL
|typepage=Special:Types/URL
|javaType=java.net.URI
|storemode=subobject
}}
=Freitext=
{{#default_form:SMW_Type}}
[[Category:SMW_Type]]
909a8e5b3000ddd17c4d349c20327047257fe429
SiDIFTemplates
0
31
339
282
2017-11-05T18:05:10Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:06Z
wikitext
text/x-wiki
__TOC__
== Overview ==
This page contains {{sidif}} templates.
These templates can be used as a template for a {{Link|target=Template:Wikitask}}.
For convenience there is a template {{Link|target=Template:TopicWikitasks}} that creates a set of wikitasks for some of the templates below.
== Templates ==
=== category ===
<source lang='java' id='category' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// macro to create pageschema from simela triples
@def pageschema(Topic topic) {
@escape("xml") {
<PageSchema>
<semanticforms_Form name="@topic.name">
<standardInputs freeTextLabel="Free text"/>
</semanticforms_Form>
<Template name="@topic.name" format="standard">
@for (Property property:topic.propertiesByIndex()) {
<Field name="@property.name">
<semanticforms_FormInput>
<InputType>text</InputType>
</semanticforms_FormInput>
<semanticmediawiki_Property name="@(topic.name) @(property.name)">
<Type>Text</Type>
</semanticmediawiki_Property>
</Field>
}
</Template>
</PageSchema>
}
}
@// generate the category for the given topic
@def category(Topic topic) {
__NOTOC__
@// show the wikiDocumentation for this category
{{#ask: [[Topic name::@(topic.name)]] | ?Topic wikiDocumentation= | mainlabel=-}}
@(topic.pluralName) may be added and edited with the form [[Form:@(topic.name)]]
* [[List of @(topic.pluralName)]]
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
@topic.name @(i18n("description"))
<div class="mw-collapsible-content">
@uml("uml",topic)
* [[Help:@topic.name]]
* [[Concept:@topic.name]]
* [[:Template:@topic.name]]
* [[:Form:@topic.name]]
=== Properties ===
@for (Property property:topic.propertiesByIndex()) {
* [[Property:@(topic.name) @(property.name)]]
}
</div>
</div>
}
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@category(contextSetting.getMaintopic())
</source>
=== listof ===
<source lang='java' id='listof' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// generate the list of page for the given topic
@def listof(Topic topic) {
__NOCACHE__
@topicheader(topic)
== @topic.pluralName ==
{{#forminput:form=@topic.name|button text=add @topic.name}}
@("{{")#ask: [[Concept:@topic.name]]
|mainlabel=@(topic.name)
@for (Property property:topic.propertiesByIndex()) {
| ?@topic.name @(property.name) = @property.name
}
@askSort(topic)
@("}}")
<div class="toccolours mw-collapsible mw-collapsed" style="width:1024px">
=== SiDIF ===
<div class="mw-collapsible-content">
@("{{")#ask: [[Concept:@topic.name]]
| ?#=pageid
@for (Property property:topic.propertiesByIndex()) {
| ?@topic.name @property.name = @property.name
}
| mainlabel=-
| format=template
| named args=yes
| template=@topic.name
| userparam=sidif
| limit=@topic.listLimit
@("}}")
</div>
</div>
[[:Category:@topic.name]]
}
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@listof(contextSetting.getMaintopic())
</source>
=== concept ===
<source lang='java' id='concept' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// generate the given topic as a concept
@def topic(Topic topic) {
__NOCACHE__
@("{{")Topic
|name=@topic.name
|pluralName=@if (topic.pluralName) {@(topic.pluralName)} else { @(topic.name)s }
|icon=@topic.icon
|iconUrl=@topic.iconUrl
|documentation=@topic.documentation
|wikiDocumentation=@topic.wikiDocumentation
|defaultstoremode=@topic.defaultstoremode
|listLimit=@topic.listLimit
|cargo=@topic.cargo
|context=@topic.context
|storemode=property
@("}}")
@("{{")Topic
|viewmode=masterdetail
|storemode=none
@("}}")
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
@topic.wikiDocumentation
@uml("uml",topic)
@("{{")#concept:
@if (topic.conceptProperty) {
[[@(topic.name) @(topic.conceptProperty.name)::+]]
} else {
[[Category:@topic.name]]
}
|@(topic.pluralName)
@seealso(topic)
@("}}")
[[Category:@topic.name]]
}
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@topic(contextSetting.getMaintopic())
</source>
=== propertiesdefs ===
<source lang='java' id='propertiesdefs' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// properties for a specific Topic
@def property(Topic topic, Property property) {
@{
String topicWithConcept=topic.pageid;
if (topicWithConcept.startsWith("Konzept:")) {
topicWithConcept=topicWithConcept.replace("Konzept:","Concept:");
}
if (!topicWithConcept.startsWith("Concept:")) {
topicWithConcept="Concept:"+topicWithConcept;
}
}
@("{{")Property
|name=@property.name
|label=@property.label
|documentation=@property.documentation
|type=Special:Types/@property.type
|index=@property.index
|sortPos=@property.sortPos
|primaryKey=@property.primaryKey
|mandatory=@property.mandatory
|namespace=@property.namespace
|size=@property.size
|uploadable=@property.uploadable
|defaultValue=@property.defaultValue
|inputType=@property.inputType
|allowedValues=@property.allowedValues
|values_from=@property.values_from
|showInGrid=@property.showInGrid
|isLink=@property.isLink
|topic=@(topicWithConcept)
|storemode=property
@("}}")
[[Has type::@property.type]]
This is a Property with type @("{{#show: {{FULLPAGENAMEE}} | ?Property type#- }}")
}
@// properties for the given topic
@def properties(Topic topic) {
== properties of @(topic.name) ==
@for (Property property:topic.getProperties()) {
=== [[Property:@(topic.name) @(property.name)]] ===
<pre>
@(property(topic,property))
</pre>
}
}
</source>
=== properties ===
<source lang='java' id='properties' cache='true'>
@include(wiki.SiDIFTemplates.propertiesdefs)
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@properties(contextSetting.getMaintopic())
</source>
=== instances ===
<source lang='java' id='instances' cache='true'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@// here some java code is declared and executed
@// the resulting variables can be used as template variables later
@{
TripleQuery query=tripleStore.query();
TripleQuery topics=query.query(null,"isA","Topic");
String maintopic=wikiTask.getParams();
}
@def wikison(TripleQuery query,String topicName, String name) {
@("{{")@topicName
@{ TripleQuery properties=query.query(name,null,null) }
|name=@name
@for (Triple property:properties.getTriples()) {
|@property.getPredicate()=@property.getObject()
}
|storeMode=subobject
@("}}")
}
@def wikison1toN(TripleQuery query,String topicName,String link,String linkTopicName) {
@{TripleQuery instances=query.query(null,"isA",topicName) }
@for (Triple instance:instances.getTriples()) {
@wikison(query,topicName,instance.getSubject().toString())
@{TripleQuery linstances=query.query(null,link,instance.getSubject().toString()) }
@for (Triple linstance:linstances.getTriples()) {
@wikison(query,linkTopicName,linstance.getSubject().toString())
}
}
}
@wikison1toN(query,maintopic,"answer","ZAnswer")
[[Category:@maintopic]]
</source>
=== form ===
<source lang='java' id='form' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// generate a level 1 section to use the headertabs feature
@def headerTabSection(Topic masterTopic,String title) {
@if (masterTopic.withHeaderTabs()) {
@("{{{section")|@(title)|level=1|hidden@("}}}")
= @(title) =
}
}
@// get the multiple String
@// generate the form for the given topic
@def form(Topic topic) {
<noinclude>
This is the @("{{smartMediaWiki}}")-Form for "@(topic.name)".
Create a new @(topic.name) by entering a new pagename for a @(topic.name)
into the field below.
If you enter an existing @(topic.name) pagename - you will edit the @(topic.name)
with that pagename.
@("{{")#forminput:form=@(topic.name)|values from concept=@(topic.name)@("}}")
</noinclude><includeonly>
<div id="wikiPreview" style="display: none; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #AAAAAA;"></div>
@headerTabSection(topic,topic.name)
@formtemplate(topic,"subobject".equals(topic.defaultstoremode))
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@if ((topicLink.targetTopic!=null) && ("true".equals(topicLink.targetMultiple))) {
@headerTabSection(topic,topicLink.targetRole)
@formtemplate(topicLink.targetTopic,"true".equals(topicLink.targetMultiple))
}
}
@if (topic.withHeaderTabs()) {
<headertabs/>
}
@("{{{section|Freitext|level=1|hidden}}}")
=Freitext=
@("{{{standard input|free text|rows=10}}}")
@("{{{standard input|summary}}}")
@("{{{standard input|changes}}}")
@("{{{standard input|save}}}")
@("{{{standard input|cancel}}}")
</includeonly>
}@// avoid newline
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@form(contextSetting.getMaintopic())
</source>
=== template ===
<source lang='java' id='template' cache='true'>
@include(wiki.SiDIFTemplates.defs)
@// show the given property Label
@def String propertyLabel(Property property) {
if ((property.label!=null) && (!"".equals(property.label.trim()))) {return property.label;} else {return property.name;}
}
@// show the given Property
@def showProperty(Property property) {
@{
String linkPre="";
String linkPost="";
String namespace="";
if ((property.type!=null) && (property.type.endsWith("Page"))) { linkPre="[[";linkPost="]]";}
// do not do namespace handling at this time
// use map namespace from mediawik-japi!
// if (property.namespace!=null) { namespace=property.namespace+":";}
}@{{#if:{{{@(property.name)|}}}|@(linkPre)@(namespace)@("{{{")@(property.name)@("|}}}")@(linkPost)|}}
}
@// set the given Property
@def setProperty(Property property){
@(property.name)=@("{{{")@(property.name)|@("}}}")
}
@// sidif - newline relevant
@def sidif(Topic topic) {
@("{{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}}") isA @(topic.name)<br>@("|}}")@for (Property property:topic.propertiesByIndex()){@// avoid newline
@("{{#if:{{{")?@(property.name)@("|}}}|")"@("{{{")?@(property.name)@("}}}")" is @property.name of it <br>|@("}}")}
}
@// includeonly part of wiki template
@def includeonly(Topic topic, boolean withComment) {
@("{{#switch:"){{{userparam|}}}|sidif=@sidif(topic)
|#default=@("{{#switch:"){{{storemode|}}}
|none=
|subobject=@("{{#subobject:-")
|isA=@(topic.name)
@for (Property property:topic.propertiesByIndex()) {
|@(topic.name) @setProperty(property)
}
@("}}")@//#subobject
|#default=@("{{#set:")
|isA=@(topic.name)
@for (Property property:topic.propertiesByIndex()) {
|@topic.name @setProperty(property)
}
@("}}")@//#set
@("}}")@//#switch
@("{{#switch:") {{{viewmode|}}}
|masterdetail=
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@if (topicLink.targetTopic) {
= @(topicLink.targetRole) =
@("{{")#ask:[[Concept:@(topicLink.targetTopic.name)]][[@(topicLink.targetTopic.name) @(topicLink.sourceRole)::@("{{FULLPAGENAME}}")]]
@for (Property property:topicLink.targetTopic.propertiesByIndex()) {
| ?@(topicLink.targetTopic.name) @property.name = @property.name
}
@askSort(topicLink.targetTopic)
@("}}")
}
}
|tableheader=@("{{{!}}") class='wikitable'
@{String delim="!";}
@for (Property property:topic.propertiesByIndex()) {@(delim)@(property.name)@{delim="!!";}}
@("\n{{!}}-")
|tablerow=
@{delim="{{!}}"}
@for (Property property:topic.propertiesByIndex()) {@(delim){{{@(property.name)|}}}@{delim="{{!}}{{!}}"}}
@("\n{{!}}-")
|tablefooter=@("{{!}}}")
|labelfield=
@for (Property property:topic.propertiesByIndex()) {@(property.name)=@(showProperty(property))<br>}
|#default=@("{{{!}}") class='wikitable'
! colspan='2' @("{{!}}")@(topic.name)
@("{{!}}-")
@("{{#switch:"){{{storemode|}}}|property=
! colspan='2' style='text-align:left' {{!}} {{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/@(topic.name)/{{FULLPAGENAME}}|title=edit}}
@("{{!}}-")
@("}}")
@for (Property property:topic.propertiesByIndex()) {@("!")@(propertyLabel(property))
@("{{!}}") @(showProperty(property))
@("{{!}}")-
}
@("{{!}}}")
@("}}")@//#switch
@("}}")@//#switch
@// do not add subobjects to category - this would make selecting the default form difficult
@if ("property".equals(topic.defaultstoremode)) {
[[Category:@(topic.name)]]@("{{#default_form:")@(topic.name)@("}}")
}
}
@// wikiSonUsage
@def wikiSonUsage(Topic topic,String modeLine) {
<pre>@("{{")@topic.name
@for (Property property:topic.propertiesByIndex()) {
|@property.name=
}
|@modeLine
@("}}")
</pre>
}@// avoid newline
@// noinclude part of wiki template
@def noinclude(Topic topic) {
This is the template {{Link|target=Template:@topic.name|title=@topic.name}}.
It belongs to the concept/topic {{Link|target=:Concept:@topic.name}}<br>
You may find examples for the use of this template via the {{Link|target=List of @(topic.pluralName)}}.
=== Usage ===
@{ String[] storeModes={"subobject","property","none"};}
@for (String storeMode:storeModes) {
==== storemode @storeMode ====
@wikiSonUsage(topic,"storemode="+storeMode)
}
@{ String[] viewModes={"tableheader","tablerow","tablefooter","labelfield"};}
@for (String viewMode:viewModes) {
==== viewmode @viewMode ====
@wikiSonUsage(topic,"viewmode="+viewMode)
}
=== Source (pretty printed) ===
@("<source") lang='html4strict'>
@includeonly(topic,true)
@("<")@("/source>")
=== Source ===
Click on "Edit" to edit the noinclude-part Source of this Template.
[[Category:Template]]
}@// avoid newline
@def template(Topic maintopic) {<noinclude>
@copyright()
@noinclude(maintopic)
</noinclude><includeonly>@includeonly(maintopic,false)</includeonly>}@// avoid newline
@// contextSetting handling
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@template(contextSetting.getMaintopic())
</source>
=== javacodegen ===
<source lang='java' id='javacodegen' cache='true'>
@include(wiki.SiDIFTemplates.defs)
=== java code ===
@("<source lang='java' id='javacode'>")
@verbatim() {
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import com.alibaba.fastjson.JSON
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
}
@// user code section
@// smartGenerator compatible like:
@// // >>>{User defined import section}{::com::bitplan::ooa::OOAAssociation}{S37C96C0C016C}
@def printUserCode(String codetype,String key,String modelID) {
// >>>@("{")@(codetype)@("}")@("{")@(key)@("}")@("{")@(modelID)@("}")
// <<<@("{")@(codetype)@("}")@("{")@(key)@("}")@("{")@(modelID)@("}")
}
@// first character to Upper
@def String firstToUpper(String string) {
StringBuffer sb = new StringBuffer(string);
sb.replace(0, 1, string.substring(0, 1).toUpperCase());
return sb.toString();
}
@// generate javacode for the given topic
@def javacode(Context context) {
@("@def static {")
/**
* Base class
*/
static abstract class TopicBase {
// each Topic has a pageid - for non subobject thats the pagename
public String pageid;
/**
* get a WikiSon version of the given name value
*
* @@param name
* @@param value
* @@return - the string representation
*/
public String toWikiSon(String name, String value) {
String result = "<!-- " + name + " is null-->\n";
if (value != null)
result = "|" + name + "=" + value + "\n";
return result;
}
/**
* get the SiDIF representation of the given property
*
* @@param name - the name of the property
* @@param value - the value of the property
* @@param type - the type of the property
* @@return - the SiDIF Sting representation of the property
*/
public static String propertySiDIF(String name, String value, String type) {
// default is a comment line which can be filled by uncommenting
String result = String.format("# is is %s of it\n",name);;
// if the value is not empty
if ((value != null) && (!("".equals(value.trim())))) {
// do we need to quote the result?
String quote = "";
// this depends on the Type
if ("Text".equals(type)) {
quote = "\"";
}
// create a SIDIF Property line like
// "John" is lastname of it
// convert double quotes to single quotes - FIXME - should we escape instead?
value=value.replace("\"","'");
result = String.format("%s%s%s is %s of it\n",quote,value,quote,name);
}
// return the SiDIF property line
return result;
}
/**
* get me as a String
*
* @@param name
* @@param value
* @@return
*/
public static String propertySiDIF(String name, String value) {
String result = propertySiDIF(name, value, "Text");
return result;
}
/**
* check if the given boolean String value is true
*
* @@param value
* @@return true if the value is not null and has true/TRUE as it's string
* content
*/
public boolean isTrue(String value) {
boolean result = false;
if (value != null && value.toLowerCase().equals("true")) {
result = true;
}
return result;
}
/**
* initialize
*/
public void init(TripleQuery query) {
}
} // TopicBase
@for(Topic topic:context.getTopics()) {
/**
* @topic.name
* @topic.documentation
*/
public static class @topic.name extends TopicBase @("{")
@for(Property property:topic.getProperties()) {
public String @property.name;
}
@for(Property property:topic.getProperties()) {
public String get@(firstToUpper(property.name))() { return @property.name; }
public void set@(firstToUpper(property.name))(String p@(firstToUpper(property.name))) { @property.name=p@(firstToUpper(property.name)); }
}
/**
* convert this @topic.name to a JSON string
*/
public String toJson() { return JSON.toJSONString(this); }
/**
* convert this @topic.name to a WikiSon string
* @@return the WikiSon representation of this @(topic.name)
*/
public String toWikiSon() {
String wikison= "{{@topic.name\n";
@for(Property property:topic.getProperties()) {
wikison+=toWikiSon("@property.name",@property.name);
}
wikison+="}}\n";
return wikison;
}
/**
* convert this @topic.name to a SiDIF string
* @@return the SiDIF representation of this @(topic.name)
*/
public String toSiDIF() {
String siDIF = String.format("%s isA @(topic.name)\n",this.pageid);
@for(Property property:topic.getProperties()) {
siDIF+=propertySiDIF("@(property.name)",@(property.name),"@(property.type)");
}
return siDIF;
}
/**
* get the pageid for this topic
*/
public String getPageid() { return pageid; };
/**
* default constructor for @topic.name
*/
public @(topic.name)() {}
/**
* construct a @topic.name from the given Triple
* @("@")param query - the TripleQuery to get the triples from
* @("@")param p@(topic.name)Triple - the triple to construct me from
*/
public @(topic.name)(TripleQuery query,Triple p@(topic.name)Triple) @("{")
this(query,p@(topic.name)Triple.getSubject().toString());
@("} // constructor")
/**
* construct a @topic.name from the given pageId
* @("@")param query - the TripleQuery to get the triples from
* @("@")param pageid - pageid
*/
public @(topic.name)(TripleQuery query,String pageid) @("{")
this.pageid=pageid;
@for(Property property:topic.getProperties()) {
Triple @(property.name)Triple=query.selectSingle(pageid,"@property.name",null);
if (@(property.name)Triple==null)
@(property.name)Triple=query.selectSingle(pageid,"Property:@(topic.name)_@property.name",null);
if (@(property.name)Triple!=null)
@(property.name)=@(property.name)Triple.getObject().toString();
}
init(query);
@("}") // constructor for @topic.name
@printUserCode("user defined topic code",topic.name,topic.name)
@("}") // class @topic.name
/**
* Manager for @topic.name
*/
public static class @(topic.name)Manager extends TopicBase @("{")
public String topicName="@(topic.name)";
public transient List<@topic.name> m@(topic.name)s=new ArrayList<@(topic.name)>();
public transient Map<String,@topic.name> m@(topic.name)Map=new LinkedHashMap<String,@(topic.name)>();
/**
* get my @(topic.pluralName)
*/
public List<@topic.name> get@(topic.pluralName)() {
List<@topic.name> result=this.m@(topic.name)s;
return result;
}
/**
* add a new @(topic.name)
*/
public @(topic.name) add(@(topic.name) p@(topic.name)) {
m@(topic.name)s.add(p@(topic.name));
m@(topic.name)Map.put(p@(topic.name).getPageid(),p@(topic.name));
return p@(topic.name);
}
/**
* add a new @(topic.name) from the given triple
*/
public @(topic.name) add(TripleQuery query,Triple p@(topic.name)Triple) {
@topic.name l@topic.name=new @(topic.name)(query,p@(topic.name)Triple);
add(l@(topic.name));
return l@(topic.name);
}
// reinitialize my m@(topic.name) map
public void reinit() {
m@(topic.name)Map.clear();
for (@(topic.name) l@(topic.name):m@(topic.name)s) {
m@(topic.name)Map.put(l@(topic.name).getPageid(),l@(topic.name));
}
}
// convert this manager to json format
public String toJson() { return JSON.toJSONString(this); }
// get a new manager from the given json string
public static @(topic.name)Manager fromJson(String json) {
@(topic.name)Manager result=JSON.parseObject(json, @(topic.name)Manager.class);
result.reinit();
return result;
}
// default constructor for @(topic.name) Manager
public @(topic.name)Manager() {}
// add @(topic.pluralName) from the given query
public void add@(topic.pluralName)(TripleQuery p@(topic.name)Query,TripleQuery query) {
if (p@(topic.name)Query!=null) {
for (Triple l@(topic.name)Triple:p@(topic.name)Query.getTriples()) {
add(query,l@(topic.name)Triple);
}
}
}
// construct me from the given triple Query query
public @(topic.name)Manager(TripleQuery query) @("{")
// first query the SiDIF bases triplestore
TripleQuery l@(topic.name)Query=query.query(null,"isA","@topic.name");
add@(topic.pluralName)(l@(topic.name)Query,query);
// then the SMW triplestore
l@(topic.name)Query=query.query(null,"Property:IsA","@topic.name");
add@(topic.pluralName)(l@(topic.name)Query,query);
init(query);
@("}") // constructor for @topic.name Manager
@printUserCode("user defined topicmanager code",topic.name,topic.name)
@("}") // class @topic.name Manager
}
@// end static
@("}")
}
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
Context context=ContextFactory.getInstance().getContext(contextSetting);
}
@javacode(context)
@("<")@("/source>")
</source>
=== help ===
<source lang='java' id='help'>
@include(wiki.SiDIFTemplates.defs)
@def help(Topic topic) {
[[File:Help_Icon.png|right]]
== Help for @(topic.name) ==
@topicheader(topic)
=== Documentation ===
@topic.wikiDocumentation
=== Example @(topic.pluralName) ===
{{#ask: [[Concept:@(topic.name)]]
}}
=== Properties ===
{{#ask: [[Concept:Property]][[Property topic::Concept:@(topic.name)]]
| ?Property documentation = documentation
| ?Property type = type
| ?Property name = name
| ?Property label = label
| ?Property allowedValues = allowedValues
| ?Property mandatory = mandatory
| ?Property uploadable = uploadable
|format=table
}}
@uml("uml",topic)
@seealso(topic)
[[Category:@topic.name]]
}
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@help(contextSetting.getMaintopic())
</source>
=== debug ===
<source lang='java' id='debug'>
@include(wiki.SiDIFTemplates.java)
@for (Topic topic:mTopicManager.mTopics) {
== @(topic.pageid) ==
=== Concept property ===
@if (topic.conceptProperty) {
* @topic.conceptProperty.pageid name=@topic.conceptProperty.name
}
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
=== source TopicLink @(topicLink.name) ===
* @topicLink.sourceMultiple @topicLink.source @(topicLink.sourceRole)
* @topicLink.targetMultiple @topicLink.target @(topicLink.targetRole)
}
@for (TopicLink topicLink:topic.targetTopicLinks.mTopicLinks) {
=== target TopicLink @(topicLink.name) ===
* @topicLink.sourceMultiple @topicLink.source @(topicLink.sourceRole)
* @topicLink.targetMultiple @topicLink.target @(topicLink.targetRole)
}
@for (Property property:topic.getProperties()) {
=== Property @(property.name) ===
<pre>
[[Has type::@property.type]]
@("{{")Property
|name=@property.name
|documentation=@property.documentation
|type=Special:Types/@property.type
|label=@property.label
|primaryKey=@property.primaryKey
|mandatory=@property.mandatory
|uploadable=@property.uploadable
|size=@property.size
|defaultValue=@property.defaultValue
|inputType=@property.inputType
|allowedValues=@property.allowedValues
|topic=Concept:@topic.pageid
@("}}")
This is a Property with type @("{{#show: {{FULLPAGENAMEE}} | ?Property type#- }}")
</pre>
}
}
</source>
=== tripletable ===
<source lang='java' id='tripletable' cache='true'>
@include(wiki.SiDIFTemplates.java)
@// macro to show a table of triples
@def tripletable(String title,List<org.sidif.triple.Triple> triples) {
=== @title ===
{| class="wikitable sortable"
! subject !! predicate !! object
|-
@for (org.sidif.triple.Triple triple:triples) {
|@triple.getSubject() || @triple.getPredicate() || @triple.getObject()
|-
}
|}
}
@// FIXME - will given compile error in java debug mode as of 2016-11-18
@//@tripletable("all triples",query.getTriples())
@//@tripletable("topics",topics.getTriples())
</source>
=== defs ===
<source lang='java' id='defs' cache='true'>
@include(wiki.SiDIFTemplates.java)
@// macro to show BITPlan copyright
@def copyright() {<!--
-- Copyright (C) 2015-2017 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->@// avoid newline
}
@// error handling - get a stack trace
@def String getStackTrace (Throwable t) {
StringWriter sw = new StringWriter();
t.printStackTrace(new PrintWriter(sw));
return sw.toString();
}
@// macro to to internationalize generator results
@def String i18n(String text) {
String targetLang=wikiTask.getWiki().getSiteInfo().getLang();
return text;
}
@// macro for the topic header of a topic
@def topicheader(Topic topic) {
{{#ask: [[Topic name::@(topic.name)]]
|mainlabel=-
|?Topic icon = icon
|? = Topic
|?Topic name = name
|?Topic pluralName = pluralName
|?Topic documentation = documentation
}}
}
@//prepare the sort part of ask
@def askSort(Topic topic) {
@{
List<Property> sortProperties=topic.sortProperties();
String sort="";
String order="";
String delim="";
for (Property property:sortProperties) {
String direction;
if (property.sortAscending()) {
direction="ascending";
} else {
direction="descending";
}
sort=sort+delim+topic.name+" "+property.name;
order=order+delim+direction;
delim=",";
}
}
@if(sort) {
|sort=@sort
}
@if(order) {
|order=@order
}
}
@// macro for the form template of a topic
@def formtemplate(Topic topic,boolean isMultiple) {
@{
String multiple="";
if (isMultiple) {
multiple="|multiple";
}
}
<!-- @(topic.name) -->
@("{{{")for template|@(topic.name)@(multiple)@("}}}")
@("{|") class="wikitable"
! colspan='2'| @topic.name
|-
@for (Property property:topic.propertiesByIndex()) {
! @property.label:
<!-- @property.type @property.name -->
@{
String allowedValues=""; if (property.allowedValues!=null) { allowedValues="|values="+property.allowedValues; }
String mandatory=""; if ("true".equals(property.mandatory)) { mandatory="|mandatory"; }
String uploadable=""; if ("true".equals(property.uploadable)) { uploadable="|uploadable"; }
String values_from=""; if (property.values_from!=null) { values_from="|values from "+property.values_from; }
String defaultValue=""; if (property.defaultValue!=null) { defaultValue="|default="+property.defaultValue; }
String size=""; if (property.size!=null) { size="|size="+property.size; }
String inputtype=""; if (property.inputType!=null) { inputtype="|input type="+property.inputType; }
if ("textarea".equals(property.inputType)) {
inputtype+="|editor=wikieditor";
}
}
| @("{{{")field|@(property.name)|property=@(topic.name) @(property.name)@(inputtype)@(size)@(mandatory)@(uploadable)@(values_from)@(allowedValues)@(defaultValue)@("}}}")
|-
}
@("|}")
@("{{{")field|storemode|default=@(topic.defaultstoremode)|hidden@("}}}")
@("{{{end template}}}")
<!-- @(topic.name) -->
}
@// macro to to show relevant links for a topic
@def seealso(Topic topic) {
see also
* [[List of @(topic.pluralName)]]
* [[Help:@topic.name]]
* [[Concept:@topic.name]]
* [[:Category:@topic.name]]
* [[:Template:@topic.name]]
* [[:Form:@topic.name]]
topic links:
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@if (topicLink.targetTopic) {
* [[:Category:@(topicLink.targetTopic.name)]]
}
}
}
@// macro to create skin params for BITPlan corporate identity
@def bitplanumlci(int fontSize) {
' BITPlan Corporate identity skin params
' Copyright (c) 2015-2017 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
@{ String skinparams[] = {"note", "component", "package", "usecase","activity","classAttribute","interface","class","object"}; }
@for (String skinparam:skinparams) {
skinparam @skinparam {
BackGroundColor #FFFFFF
FontSize @fontSize
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
}
hide Circle
' end of skinparams '
}
@// macro to create Relation
@def plantUmlRelation(TopicLink topicLink) {
@{
String sourceMany="1";
String targetMany="1";
if ("true".equals(topicLink.sourceMultiple)) sourceMany="*";
if ("true".equals(topicLink.targetMultiple)) targetMany="*";
}
@(topicLink.source) "@(topicLink.sourceRole) (@(sourceMany))" -- "@(topicLink.targetRole)(@(targetMany))" @(topicLink.target)
}
@// macro to create uml from simela triples
@def uml(String title,Topic topic) {
=== @title ===
<uml>
title @topic.name
note as @(topic.name)DiagramNote
Copyright (c) 2015-2017 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as @(topic.name)Note
@(topic.documentation)
end note
class @topic.name @("{")
@for (Property property:topic.propertiesByIndex()) {
@(property.type) @(property.name)
}
@("}")
@(topic.name)Note .. @(topic.name)
@for (TopicLink topicLink:topic.sourceTopicLinks.mTopicLinks) {
@plantUmlRelation(topicLink)
}
@for (TopicLink topicLink:topic.targetTopicLinks.mTopicLinks) {
@plantUmlRelation(topicLink)
}
@bitplanumlci(12)
</uml>
}
</source>
=== dialogdefs ===
<source lang='java' id='dialogdefs' cache='true'>
@import java.net.URLEncoder
@// JQuery imports
@def jquery(String indent) {
@(indent)<!-- JQuery Code for resthtmlview -->
@(indent)<script src="/resthtmlview/js/jquery-1.10.2.min.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/jquery-ui-1.10.0.custom.js"></script>
@(indent)<script src="/resthtmlview/js/i18n/grid.locale-en.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/ui.multiselect.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/jquery.ui.message.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/jquery.jqGrid.min.js" type="text/javascript"></script>
@(indent)<script src="/resthtmlview/js/redactor.min.js" type="text/javascript"></script>
@(indent)<!-- load jQuery and tablesorter scripts -->
@(indent)<script src="/resthtmlview/js/jquery.tablesorter.min.js"></script>
@(indent)<script src="/resthtmlview/js/jquery.tablesorter.widgets.js"></script>
@(indent)<script src="/resthtmlview/js/jquery.metadata.js"></script>
@(indent)<!-- JQuery Styles for resthtmlview -->
@(indent)<link href="/resthtmlview/css/form.css" type="text/css" media="screen" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/messages.css" type="text/css" media="screen" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/bitplanfadetogrey/jquery-ui-1.10.1.custom.css" type="text/css" media="screen" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/ui.jqgrid.css" type="text/css" media="screen" rel="stylesheet" />
@(indent)<link href="/resthtmlview/css/ui.multiselect.css" type="text/css" media="screen" rel="stylesheet" />
@(indent)<!-- Tablesorter: required -->
@(indent)<link href="/resthtmlview/css/theme.blue.css" rel="stylesheet">
@(indent)<link href="/resthtmlview/css/searchFilter.css" type="text/css" media="screen" rel="stylesheet" />
@(indent)<link href="/resthtmlview/css/redactor.css" type="text/css" media="screen" rel="stylesheet" />
}
@// CSS Style definitions
@def style(String indent) {
@(indent)<style>
@(indent) body { height:100% }
@(indent) #container {
@(indent) background-color: #f0f0f0; /* lightblue background */
@(indent) width: 100%; /* Container has full width */
@(indent) margin: auto; /* center container */
@(indent) min-height: 100%; /* minimum height 100 % (for modern browsers) */
@(indent) height: auto !important; /* important Behel (for modern browsers */
@(indent) height: 100%; /* IE shall work as specified */
@(indent) overflow: hidden !important; /* firefox scrollbar */
@(indent) }
@(indent)</style>
}
@// dialog definition
@def dialog(String indent) {
@(indent)<script type="text/javascript">
@(indent) $(document).ready(function() {
@(indent) var wWidth = $(window).width();
@(indent) var wHeight = $(window).height();
@(indent) var dTopy = wHeight * 0.25; // top at 25% of window height
@(indent) var dTopx = wWidth * 0.25; // left at 25% of window width
@(indent) var dWidth = 'auto'; //this will make the dialog 98% of the window size
@(indent) var dHeight = 'auto';
@(indent) $( "#dialog" ).dialog({
@(indent) // position : [ dTopx, dTopy ],
@(indent) width : dWidth,
@(indent) height : dHeight,
@(indent) modal : true,
@(indent) // title: ""+wWidth+"x"+wHeight+" "+dTopx+":"+dTopy,
@(indent) my: "center",
@(indent) at: "center",
@(indent) of: window,
@(indent) show : {
@(indent) effect : "blind",
@(indent) duration : 500
@(indent) },
@(indent) hide : {
@(indent) effect : "fade",
@(indent) duration : 500
@(indent) }
@(indent) });
@(indent) // tabs
@(indent) $( "#tabs" ).tabs();
@(indent) // tablesorter
@(indent) $.extend( $.tablesorter.defaults, {
@(indent) theme: 'blue',
@(indent) widthFixed: false
@(indent) });
@(indent) $(".sortable").tablesorter();
@(indent) });
@(indent)</script>
}
@// display the given stockicon
@def String stockicon(String name,int size,String alt,String title) {
String iconhref="/stockicons/"+size+"x"+size+"/shadow/"+name+".png";
String img="<img src='"+iconhref+"' alt='"+alt+"' title='"+title+"' width='"+size+"px' height='"+size+"px' >";
return img;
}
@// url encode the given txt
@def String urlEncode(String txt) {
String result=URLEncoder.encode(txt, "UTF-8");
return result;
}
@def selectall() {
<script>
/**
* http://stackoverflow.com/questions/432493/how-do-you-access-the-matched-groups-in-a-javascript-regular-
* expression
* examples:
*
* var matches = getRegexMatches(/(dog)/, "dog boat, cat car dog");
* console.log(matches);
*
* var matches = getRegexMatches(/(dog|cat) (boat|car)/, "dog boat, cat car");
* console.log(matches);
*/
function getRegexMatches(regex, string) {
if(!(regex instanceof RegExp)) {
return "ERROR";
}
else {
if (!regex.global) {
// If global flag not set, create new one.
var flags = "g";
if (regex.ignoreCase) flags += "i";
if (regex.multiline) flags += "m";
if (regex.sticky) flags += "y";
regex = RegExp(regex.source, flags);
}
}
var matches = [];
var match = regex.exec(string);
while (match) {
if (match.length > 2) {
var group_matches = [];
for (var i = 1; i < match.length; i++) {
group_matches.push(match[i]);
}
matches.push(group_matches);
}
else {
matches.push(match[1]);
}
match = regex.exec(string);
}
return matches;
}
/**
* get the select_row or select_col checkboxes dependening on the selectType row/col
*/
function getSelectCheckboxes(selectType) {
var regex=new RegExp("select_"+selectType+"_");
var result= $('input').filter(function() {return this.id.match(regex);});
return result;
}
/**
* matrix selection logic
* the goal is to provide select all / select row x / select col x
* checkboxes that will allow to
* select all: select all grid elements
* select row: select the grid elements in the given row
* select col: select the grid elements in the given col
*
* There is a naming convention for the ids and css style classes of the the selectors and elements:
* select all -> id: selectall
* select row -> id: select_row_row e.g. select_row_2
* select col -> id: select_col_col e.g. select_col_3
* grid element -> class checkBoxClass col_col row_row e.g. checkBoxClass row_2 col_3
*/
function checkSelectStates() {
// get the list of grid checkbox elements
// all checkboxes
var all = $('.checkBoxClass');
// all select row check boxes
var rows = getSelectCheckboxes('row');
// all select columnn check boxes
var cols = getSelectCheckboxes('col');
// console.log("rows: "+rows.length+", cols:"+cols.length+" total: "+all.length);
// get the total number of checkboxes in the grid
var allLen=all.length;
// get the number of checkboxes in the checked state
var filterLen=all.filter(':checked').length;
// console.log(allLen+"-"+filterLen);
// if all checkboxes are in the checked state
// set the state of the selectAll checkbox to checked to be able
// to deselect all at once, otherwise set it to unchecked to be able to select all at once
if (allLen == filterLen) {
$("#selectall").prop("checked", true);
} else {
$("#selectall").prop("checked", false);
}
// now check the completeness of the rows
for (row = 0; row < rows.length; row++) {
var rowall=$('.row_'+row);
var rowchecked=rowall.filter(':checked');
if (rowall.length == rowchecked.length) {
$("#select_row_"+row).prop("checked", true);
} else {
$("#select_row_"+row).prop("checked", false);
}
}
// now check the completeness of the cols
for (col = 0; col < cols.length; col++) {
var colall=$('.col_'+col);
var colchecked=colall.filter(':checked');
if (colall.length == colchecked.length) {
$("#select_col_"+col).prop("checked", true);
} else {
$("#select_col_"+col).prop("checked", false);
}
}
}
$(document).ready(function () {
// handle click event for Select all check box
$("#selectall").click(function () {
// set the checked property of all grid elements to be the same as
// the state of the SelectAll check box
var state=$("#selectall").prop('checked');
$(".checkBoxClass").prop('checked', state);
getSelectCheckboxes('row').prop('checked', state);
getSelectCheckboxes('col').prop('checked', state);
});
// handle clicks within the grid
$(".checkBoxClass").on( "click", function() {
checkSelectStates();
});
$('.checkboxSelect').on( "click", function() {
var matchRowColArr=getRegexMatches(/select_(row|col)_([0-9]+)/,this.id);
var matchRowCol=matchRowColArr[0];
// console.log(matchRowCol);
if (matchRowCol.length==2) {
var selectType=matchRowCol[0]; // e.g. row
var selectIndex=matchRowCol[1]; // e.g. 2
// console.log(this.id+" clicked to select "+selectType+" "+selectIndex);
// e.g. .row_2
$("."+selectType+"_"+selectIndex)
.prop('checked', $("#select_"+selectType+"_"+selectIndex).prop('checked'));
checkSelectStates();
}
});
});
</script>
}
</source>
=== java ===
The debugging version of the SiDIF Templates
<source lang='java' id='java' cache='true'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.TripleStore
@import org.sidif.triple.Triple
@import org.sidif.wiki.SMW_Triples
@import com.alibaba.fastjson.JSON
@// import instead of src
@import com.bitplan.topic.TopicStatic.YT
@import com.bitplan.topic.TopicStatic.Context
@import com.bitplan.topic.TopicStatic.Topic
@import com.bitplan.topic.TopicStatic.Property
@import com.bitplan.topic.TopicStatic.SMW_Type
@import com.bitplan.topic.TopicStatic.TopicLink
@import com.bitplan.topic.TopicStatic.ContextManager
@import com.bitplan.topic.TopicStatic.TopicManager
@import com.bitplan.topic.TopicStatic.PropertyManager
@import com.bitplan.topic.TopicStatic.SMW_TypeManager
@import com.bitplan.topic.TopicStatic.TopicLinkManager
@import com.bitplan.topic.ContextFactory
@import com.bitplan.topic.ContextSetting
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
</source>
=== javasrc ===
the interpreted version of the java code needs to be updated from {{Link|target=Concept:Topic/Java}} with the usercode sections being added from org.sidif.wiki in src/main/java com.bitplan.topic.TopicStatic.java.
<source lang='java' id='javasrc' cache='true'>
@// This is a rythm template
@// the args are the standard wikiTask arguments
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.TripleStore
@import org.sidif.triple.Triple
@import org.sidif.wiki.SMW_Triples
@import com.alibaba.fastjson.JSON
@import java.util.Map.Entry;
@import java.util.logging.Logger;
@import java.util.logging.Level;
@import com.bitplan.topic.ContextFactory
@import com.bitplan.topic.ContextSetting
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@def static {
/**
* Base class
*/
public static abstract class TopicBase {
protected static Logger LOGGER = Logger.getLogger("org.sidif.wiki");
/**
* initialize
*/
public void init(TripleQuery query) {
}
/**
* get the propertySidif of the given property
*
* @param name
* @param value
* @return
*/
public static String propertySiDIF(String name, String value, String type) {
// default is an empty string - no property line for emtpy values
String result = "";
// if the value is not empty
if ((value != null) && (!("".equals(value.trim())))) {
// do we need to quote the result?
String quote = "";
// this depends on the Type
if ("Text".equals(type)) {
quote = "\"";
}
// create a SIDIF Property line like
// "John" is lastname of it
result += quote + value + quote + " is " + name + " of it\n";
}
// return the SiDIF property line
return result;
}
/**
* get me as a String
*
* @param name
* @param value
* @return
*/
public static String propertySiDIF(String name, String value) {
String result = propertySiDIF(name, value, "Text");
return result;
}
/**
* check if the given boolean String value is true
*
* @param value
* @return true if the value is not null and has true/TRUE as it's string
* content
*/
public boolean isTrue(String value) {
boolean result = false;
if (value != null && value.toLowerCase().equals("true")) {
result = true;
}
return result;
}
} // TopicBase
public static class YTManager {
List<YT> yTs;
/**
* @param yts
* the yts to set
*/
public void setYTs(List<YT> yts) {
this.yTs = yts;
}
/**
* get the technical aspects
*
* @return
*/
public List<YT> getYTs() {
if (yTs == null) {
yTs = Arrays.asList(YT.yts);
}
return yTs;
}
/**
* convert this YT to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
// get a new manager from the given json string
public static YTManager fromJson(String json) {
YTManager result = JSON.parseObject(json, YTManager.class);
return result;
}
}
/**
* technical aspects of Y-Principle
*
* @author wf
*
*/
public static class YT {
// Y-Principle technical aspects
public static YT yts[] = {
new YT("Category", "Category", "category",
"/images/d/d6/Category_Icon.png"),
new YT("Concept", "Concept", "concept", "/images/2/25/Concept_Icon.png"),
new YT("Form", "Form", "form", "/images/e/e5/Form_icon.jpg"),
new YT("Help", "Help", "help", "/images/7/7a/Help_Icon.png"),
new YT("Listof", "List of", "listof", "/images/7/7f/List_Icon.png"),
new YT("Template", "Template", "template",
"/images/6/61/Icon_template.png"),
new YT("Properties", "Properties", "properties",
"/images/6/6a/Element_into_input.png"),
new YT("Java", "Java", "javacodegen", "/images/3/38/Java_icon.png") };
/**
* get the YT with the given name
*
* @param ytname
*/
public static YT getYT(String ytname) {
for (YT yt : yts) {
if (yt.name.equals(ytname)) {
return yt;
}
}
return null;
}
public String name;
public String label;
public String iconUrl;
public String template;
// default constructor for json
public YT() {
};
/**
* construct me with name label and icon url
*
* @param name
* @param label
* @param iconUrl
*/
public YT(String name, String label, String template, String iconUrl) {
super();
this.name = name;
this.label = label;
this.template = template;
this.iconUrl = iconUrl;
}
/**
* a part where name and label is different
*
* @param name
* @param label
*/
public YT(String name, String label) {
this(name, label, name.toLowerCase(), "File:" + name + ".png");
}
/**
* a part where name and label is the same
*
* @param name
*/
public YT(String name) {
this(name, name);
}
/**
* convert this YT to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the page Title for the given topic name
*
* @param topicname
* @return
*/
public String getPageTitle(Topic topic) {
String result = this.name + ":" + topic.name;
if ("Listof".equals(name)) {
result = "List_of_" + topic.pluralName.replace(" ", "_");
}
if ("Properties".equals(name)) {
result = "Concept:" + topic.name.replace(" ", "_") + "/Properties";
}
if ("Java".equals(name)) {
result = "Concept:" + topic.name.replace(" ", "_") + "/Java";
}
return result;
}
}
/**
* Context
* A Context groups some topics like a Namespace/Package
*/
public static class Context extends TopicBase {
public String pageid;
public String name;
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
/**
* convert this Context to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for Context
*/
public Context() {
}
/**
* construct a Context from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pContextTriple
* - the triple to construct me from
*/
public Context(TripleQuery query, Triple pContextTriple) {
this(query, pContextTriple.getSubject().toString());
} // constructor
/**
* construct a Context from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public Context(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query.selectSingle(pageid, "Property:Context_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
init(query);
} // constructor for Context
// >>>{user defined topic code}{Context}{Context}
/**
* initialize
*/
public void init(TripleQuery query) {
if (this.name == null) {
this.name = this.pageid;
}
}
/**
* return me as a SiDIF string
*
* @return
*/
public String asSiDIF() {
String result = "";
result += "#\n";
result += "# Context:" + getName() + "\n";
result += "#\n";
result += getPageid() + " isA Context\n";
result += propertySiDIF("name", name);
for (Entry<String, Topic> topicEntry : this.topics.mTopicMap.entrySet()) {
result += topicEntry.getValue().asSiDIF();
}
return result;
}
// 1:n relation to topics
public TopicManager topics = new TopicManager();
/**
* accessor for 1:n relation to topics
*
* @return
*/
public List<Topic> getTopics() {
return topics.mTopics;
}
/**
* recreate topics from a given list
*
* @param pTopics
*/
public void setTopics(List<Topic> pTopics) {
topics = new TopicManager();
topics.mTopics = pTopics;
for (Topic topic : pTopics) {
topics.mTopicMap.put(topic.getName(), topic);
}
}
/**
* get the Topic by the given topicName
*
* @param topicName
* @return
*/
public Topic byName(String topicName) {
Topic result = this.topics.byName(topicName);
return result;
}
// <<<{user defined topic code}{Context}{Context}
} // class Context
/**
* Manager for Context
*/
public static class ContextManager extends TopicBase {
public String topicName = "Context";
public transient List<Context> mContexts = new ArrayList<Context>();
public transient Map<String, Context> mContextMap = new TreeMap<String, Context>();
/**
* add a new Context
*/
public Context add(Context pContext) {
mContexts.add(pContext);
mContextMap.put(pContext.getName(), pContext);
return pContext;
}
/**
* add a new Context from the given triple
*/
public Context add(TripleQuery query, Triple pContextTriple) {
Context lContext = new Context(query, pContextTriple);
add(lContext);
return lContext;
}
// reinitialize my mContext map
public void reinit() {
mContextMap.clear();
for (Context lContext : mContexts) {
mContextMap.put(lContext.getName(), lContext);
}
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// get a new manager from the given json string
public static ContextManager fromJson(String json) {
ContextManager result = JSON.parseObject(json, ContextManager.class);
result.reinit();
return result;
}
// default constructor
public ContextManager() {
}
// construct me from the given triple Query query
public ContextManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lContextQuery = query.query(null, "isA", "Context");
for (Triple lContextTriple : lContextQuery.getTriples()) {
add(query, lContextTriple);
}
// then the SMW triplestore
lContextQuery = query.query(null, "Property:IsA", "Context");
for (Triple lContextTriple : lContextQuery.getTriples()) {
add(query, lContextTriple);
}
init(query);
} // constructor for Context Manager
// >>>{user defined topicmanager code}{Context}{Context}
public transient TopicManager mTopicManager;
public transient PropertyManager mPropertyManager;
/**
* run pass 2 to link topics to context and properties to topics
*
* @return
*/
public List<String> pass2() {
List<String> result = new ArrayList<String>();
for (Topic topic : mTopicManager.mTopics) {
if (topic.context == null) {
LOGGER.log(Level.SEVERE, "topic " + topic.getName() + " pageid "
+ topic.getPageid() + " has a null context");
} else {
Context context = this.mContextMap.get(topic.context);
if (context != null) {
context.topics.add(topic);
} else {
result.add("Context '" + topic.context + "' not found");
}
}
}
// FIXME - do we really need to do this?
for (Property property : mPropertyManager.mPropertys) {
String propertyHint = "property " + property.getName() + " pageid "
+ property.getPageid();
if (property.topic == null) {
LOGGER.log(Level.SEVERE, propertyHint + " has a null topic");
} else {
// FIXME ... remove non name parts ...
Topic topic = mTopicManager.mTopicMap.get(property.topic);
if (topic != null) {
if (!topic.properties.mPropertyMap.containsKey(property.getName())) {
result.add("property '" + propertyHint + " not found in topic "
+ topic.getName());
} else {
topic.properties.add(property);
}
} else {
result.add("Topic '" + property.topic + "' for " + propertyHint
+ " not found in ");
}
}
}
return result;
}
/**
* construct me from a tripleStore
*
* @param tripleStore
*/
public ContextManager(TripleStore tripleStore) {
this(tripleStore.query());
mTopicManager = new TopicManager(tripleStore.query());
mPropertyManager = new PropertyManager(tripleStore.query());
mTopicManager.configureTopics();
pass2();
}
/**
* get my contexts
*
* @return
*/
public List<Context> getContexts() {
List<Context> result = this.mContexts;
return result;
}
/**
* get the given context by name
*
* @param name
* @return
*/
public Context byName(String name) {
Context result = this.mContextMap.get(name);
return result;
}
/**
* return me as a SiDIF representation
*
* @return
*/
public String asSiDIF() {
String result = "";
for (Entry<String, Context> contextEntry : this.mContextMap.entrySet()) {
result += contextEntry.getValue().asSiDIF();
}
return result;
}
// <<<{user defined topicmanager code}{Context}{Context}
} // class Context Manager
/**
* Topic
* A Topic is a Concept/Class/Thing/Entity
*/
public static class Topic extends TopicBase {
public String pageid;
public String name;
public String pluralName;
public String icon;
public String iconUrl;
public String documentation;
public String wikiDocumentation;
public String defaultstoremode;
public String listLimit;
public String cargo;
public String context;
public String headerTabs;
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
public String getPluralName() {
return pluralName;
}
public void setPluralName(String pPluralName) {
pluralName = pPluralName;
}
public String getIcon() {
return icon;
}
public void setIcon(String pIcon) {
icon = pIcon;
}
public String getIconUrl() {
return iconUrl;
}
public void setIconUrl(String pIconUrl) {
iconUrl = pIconUrl;
}
public String getDocumentation() {
return documentation;
}
public void setDocumentation(String pDocumentation) {
documentation = pDocumentation;
}
public String getWikiDocumentation() {
return wikiDocumentation;
}
public void setWikiDocumentation(String pWikiDocumentation) {
wikiDocumentation = pWikiDocumentation;
}
public String getDefaultstoremode() {
return defaultstoremode;
}
public void setDefaultstoremode(String pDefaultstoremode) {
defaultstoremode = pDefaultstoremode;
}
public String getListLimit() {
return listLimit;
}
public void setListLimit(String pListLimit) {
listLimit = pListLimit;
}
public String getCargo() {
return cargo;
}
public void setCargo(String pCargo) {
cargo = pCargo;
}
public String getContext() {
return context;
}
public void setContext(String pContext) {
context = pContext;
}
public String getHeaderTabs() {
return headerTabs;
}
public void setHeaderTabs(String pHeaderTabs) {
headerTabs = pHeaderTabs;
}
/**
* convert this Topic to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for Topic
*/
public Topic() {
}
/**
* construct a Topic from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pTopicTriple
* - the triple to construct me from
*/
public Topic(TripleQuery query, Triple pTopicTriple) {
this(query, pTopicTriple.getSubject().toString());
} // constructor
/**
* construct a Topic from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public Topic(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple pluralNameTriple = query.selectSingle(pageid, "pluralName", null);
if (pluralNameTriple == null)
pluralNameTriple = query.selectSingle(pageid,
"Property:Topic_pluralName", null);
if (pluralNameTriple != null)
pluralName = pluralNameTriple.getObject().toString();
Triple cargoTriple = query.selectSingle(pageid, "cargo", null);
if (cargoTriple == null)
cargoTriple = query.selectSingle(pageid, "Property:Topic_cargo", null);
if (cargoTriple != null)
cargo = cargoTriple.getObject().toString();
Triple documentationTriple = query.selectSingle(pageid, "documentation",
null);
if (documentationTriple == null)
documentationTriple = query.selectSingle(pageid,
"Property:Topic_documentation", null);
if (documentationTriple != null)
documentation = documentationTriple.getObject().toString();
Triple wikiDocumentationTriple = query.selectSingle(pageid,
"wikiDocumentation", null);
if (wikiDocumentationTriple == null)
wikiDocumentationTriple = query.selectSingle(pageid,
"Property:Topic_wikiDocumentation", null);
if (wikiDocumentationTriple != null)
wikiDocumentation = wikiDocumentationTriple.getObject().toString();
Triple defaultstoremodeTriple = query.selectSingle(pageid,
"defaultstoremode", null);
if (defaultstoremodeTriple == null)
defaultstoremodeTriple = query.selectSingle(pageid,
"Property:Topic_defaultstoremode", null);
if (defaultstoremodeTriple != null)
defaultstoremode = defaultstoremodeTriple.getObject().toString();
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query.selectSingle(pageid, "Property:Topic_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
Triple iconTriple = query.selectSingle(pageid, "icon", null);
if (iconTriple == null)
iconTriple = query.selectSingle(pageid, "Property:Topic_icon", null);
if (iconTriple != null)
icon = iconTriple.getObject().toString();
Triple contextTriple = query.selectSingle(pageid, "context", null);
if (contextTriple == null)
contextTriple = query.selectSingle(pageid, "Property:Topic_context",
null);
if (contextTriple != null)
context = contextTriple.getObject().toString();
Triple iconUrlTriple = query.selectSingle(pageid, "iconUrl", null);
if (iconUrlTriple == null)
iconUrlTriple = query.selectSingle(pageid, "Property:Topic_iconUrl",
null);
if (iconUrlTriple != null)
iconUrl = iconUrlTriple.getObject().toString();
Triple headerTabsTriple=query.selectSingle(pageid,"headerTabs",null);
if (headerTabsTriple==null)
headerTabsTriple=query.selectSingle(pageid,"Property:Topic_headerTabs",null);
if (headerTabsTriple!=null)
headerTabs=headerTabsTriple.getObject().toString();
init(query);
} // constructor for Topic
// >>>{user defined topic code}{Topic}{Topic}
PropertyManager properties = new PropertyManager();
transient public TopicLinkManager sourceTopicLinks = new TopicLinkManager();
transient public TopicLinkManager targetTopicLinks = new TopicLinkManager();
transient public Property conceptProperty; // the Property to be used when
// selecting a
// Concept
/**
* get the Properties
*
* @return
*/
public List<Property> getProperties() {
return properties.mPropertys;
}
/**
* add Properties from the given query
*
* @param propertyQuery
* @param query
*/
public void addProperties(TripleQuery propertyQuery, TripleQuery query) {
if (propertyQuery != null) {
for (Triple property : propertyQuery.getTriples()) {
properties.add(query, property);
}
}
}
/**
* initialize me with the given query
*
* @Override
*/
public void init(TripleQuery query) {
// pass2 does this in a query indepent way ...
// SiDIF style property query ...
TripleQuery propertyQuery = query.query(null, "addsTo", pageid);
addProperties(propertyQuery, query);
// pass2 does this in a reverse way - this could also be done but then
// propertyNames would have to be fixed ...
propertyQuery = query.query(null, "Property:Property_topic", pageid);
addProperties(propertyQuery, query);
addTopicLinks(query, sourceTopicLinks, "source");
addTopicLinks(query, targetTopicLinks, "target");
if (name == null) {
name = pageid;
}
if (pluralName == null) {
pluralName = name + "s";
}
// add Properties for targetTopicLinks
// this is the referenced to the "neighbour" Topic
for (TopicLink topicLink : targetTopicLinks.mTopicLinks) {
Property property = new Property();
property.pageid = topicLink.sourceRole;
property.documentation = topicLink.sourceDocumentation;
property.name = property.pageid;
property.label = property.name;
property.type = "Page";
property.isLink = "true";
// make sure the form shows the neighbour concept as an option
String sourceName = topicLink.source;
// remove "Concept:" prefix !!! FIXME - this is language dependent
// and a horrible work around for the time being
sourceName = sourceName.replace("Concept:", "");
sourceName = sourceName.replace("Konzept:", "");
property.values_from = "concept=" + sourceName;
property.inputType = "dropdown";
properties.mPropertys.add(property);
}
}
/**
* add the topicLinks
*
* @param query
* - the TripleQuery to get the triples from
* @param tm
* - the TopicLinkManager to add the topic links to
* @param predicate
* - the predicate to be used for linking
*/
public void addTopicLinks(TripleQuery query, TopicLinkManager tm,
String predicate) {
TripleQuery linkQuery = query.query(null, predicate, pageid);
if (linkQuery != null) {
for (Triple linkTriple : linkQuery.getTriples()) {
String link = linkTriple.getSubject().toString();
TopicLink topiclink = new TopicLink(query, link);
tm.mTopicLinks.add(topiclink);
}
}
}
/**
* check my source TopicLinks and set the targetTopic by looking it up
*/
public void linkTargetTopics(TopicManager tm) {
for (TopicLink sourceTopicLink : sourceTopicLinks.mTopicLinks) {
String topicTarget = sourceTopicLink.target; // e.g. Concept:Property;
topicTarget = topicTarget.replace("Concept:", ""); // remove Concept
// part
topicTarget = topicTarget.replace("Koncept:", ""); // remove Concept
// part
Topic targetTopic = tm.byName(topicTarget);
if (targetTopic != null) {
sourceTopicLink.targetTopic = targetTopic;
}
}
}
/**
* set the concept Property for the given target Property
*/
public void setConceptProperty() {
for (Property property : properties.mPropertys) {
if ("true".equals(property.mandatory)
|| "true".equals(property.primaryKey)) {
conceptProperty = property;
break;
}
}
}
/**
* get the Properties sorted by index
*
* @return
*/
public List<Property> propertiesByIndex() {
List<Property> properties = new ArrayList<Property>(
this.properties.mPropertys);
Collections.sort(properties, new Comparator<Property>() {
public int compare(Property p1, Property p2) {
Integer p1i = Integer.MAX_VALUE;
Integer p2i = Integer.MAX_VALUE;
try {
p1i = Integer.parseInt(p1.index);
} catch (NumberFormatException nfe) {
}
;
try {
p2i = Integer.parseInt(p2.index);
} catch (NumberFormatException nfe) {
}
;
int result = p1i.compareTo(p2i);
return result;
}
});
return properties;
}
/**
* return me as a SiDIF string
*
* @return
*/
public String asSiDIF() {
String result = "";
result += "#\n";
result += "#" + getName() + "\n";
result += "#\n";
result += name + " isA Topic\n";
result += propertySiDIF("name", name);
result += propertySiDIF("pluralName", pluralName);
result += propertySiDIF("documentation", documentation);
result += propertySiDIF("wikiDocumentation", wikiDocumentation);
result += propertySiDIF("icon", icon);
result += propertySiDIF("iconUrl", iconUrl);
result += propertySiDIF("defaultstoremode", defaultstoremode);
result += propertySiDIF("listLimit", this.listLimit, "Boolean");
result += propertySiDIF("cargo", cargo, "Boolean");
result += propertySiDIF("headerTabs", this.headerTabs, "Boolean");
result += propertySiDIF("context", this.context);
List<Property> propertiesByIndex = this.propertiesByIndex();
for (Property property : propertiesByIndex) {
if (!isTrue(property.isLink))
result += getName() + "_" + property.getName() + " addsTo it\n";
}
int pindex = 0;
result += "# properties of " + name + "\n";
;
for (Property property : propertiesByIndex) {
if (!isTrue(property.isLink)) {
pindex++;
result += "# property " + property.getName() + "\n";
result += getName() + "_" + property.getName() + " isA Property\n";
result += propertySiDIF("name", property.name);
result += propertySiDIF("label", property.label);
result += propertySiDIF("type", property.type);
if (property.index == null)
property.index = "" + pindex;
result += propertySiDIF("index", property.index, "Number");
result += propertySiDIF("sortPos", property.sortPos, "Number");
result += propertySiDIF("primaryKey", property.primaryKey, "Boolean");
result += propertySiDIF("mandatory", property.mandatory, "Boolean");
result += propertySiDIF("namespace", property.namespace);
result += propertySiDIF("size", property.size, "Number");
result += propertySiDIF("uploadable", property.uploadable, "Boolean");
result += propertySiDIF("defaultValue", property.defaultValue);
result += propertySiDIF("inputType", property.inputType);
result += propertySiDIF("allowedValues", property.allowedValues);
result += propertySiDIF("documentation", property.documentation);
result += propertySiDIF("values_from", property.values_from);
result += propertySiDIF("showInGrid", property.showInGrid, "Boolean");
result += propertySiDIF("isLink", property.isLink, "Boolean");
// FIXME maybe use later again
// result += propertySiDIF("pageid", property.pageid);
result += propertySiDIF("topic", getName());
}
}
return result;
}
// <<<{user defined topic code}{Topic}{Topic}
} // class Topic
/**
* Manager for Topic
*/
public static class TopicManager extends TopicBase {
public String topicName = "Topic";
public List<Topic> mTopics = new ArrayList<Topic>();
public transient Map<String, Topic> mTopicMap = new TreeMap<String, Topic>();
/**
* add a new Topic
*/
public Topic add(Topic pTopic) {
mTopics.add(pTopic);
mTopicMap.put(pTopic.getName(), pTopic);
return pTopic;
}
/**
* add a new Topic from the given triple
*/
public Topic add(TripleQuery query, Triple pTopicTriple) {
Topic lTopic = new Topic(query, pTopicTriple);
add(lTopic);
return lTopic;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public TopicManager() {
}
// construct me from the given triple Query query
public TopicManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicQuery = query.query(null, "isA", "Topic");
for (Triple lTopicTriple : lTopicQuery.getTriples()) {
add(query, lTopicTriple);
}
// then the SMW triplestore
lTopicQuery = query.query(null, "Property:IsA", "Topic");
for (Triple lTopicTriple : lTopicQuery.getTriples()) {
add(query, lTopicTriple);
}
init(query);
} // constructor for Topic Manager
// >>>{user defined topicmanager code}{Topic}{Topic}
/**
* get a topic by the given name
*
* @param topicName
* - the name of the topic to get FIXME - speedup?
*/
public Topic byName(String topicName) {
Topic result = null;
for (Topic topic : mTopics) {
if (topicName.equals(topic.name)) {
result = topic;
}
}
return result;
} // byName
/**
* configure Topics: link TargetTopics set Concept Properties
*/
public void configureTopics() {
for (Topic topic : mTopics) {
topic.setConceptProperty();
topic.linkTargetTopics(this);
}
}
// <<<{user defined topicmanager code}{Topic}{Topic}
} // class Topic Manager
/**
* SMW_Type
* an SMW_Type is a data type which determines the possible values for that
* type e.g. a Boolean can hold true/fals values while a Number can hold
* 3.1459 or 20. A Page can hold the name of a Wiki page see
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
*/
public static class SMW_Type extends TopicBase {
public String pageid;
public String documentation;
public String type;
public String typepage;
public String helppage;
public String javaType;
public String usedByProperties;
public String getDocumentation() {
return documentation;
}
public void setDocumentation(String pDocumentation) {
documentation = pDocumentation;
}
public String getType() {
return type;
}
public void setType(String pType) {
type = pType;
}
public String getTypepage() {
return typepage;
}
public void setTypepage(String pTypepage) {
typepage = pTypepage;
}
public String getHelppage() {
return helppage;
}
public void setHelppage(String pHelppage) {
helppage = pHelppage;
}
public String getJavaType() {
return javaType;
}
public void setJavaType(String pJavaType) {
javaType = pJavaType;
}
public String getUsedByProperties() {
return usedByProperties;
}
public void setUsedByProperties(String pUsedByProperties) {
usedByProperties = pUsedByProperties;
}
/**
* convert this SMW_Type to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for SMW_Type
*/
public SMW_Type() {
}
/**
* construct a SMW_Type from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pSMW_TypeTriple
* - the triple to construct me from
*/
public SMW_Type(TripleQuery query, Triple pSMW_TypeTriple) {
this(query, pSMW_TypeTriple.getSubject().toString());
} // constructor
/**
* construct a SMW_Type from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public SMW_Type(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple documentationTriple = query.selectSingle(pageid, "documentation",
null);
if (documentationTriple == null)
documentationTriple = query.selectSingle(pageid,
"Property:SMW_Type_documentation", null);
if (documentationTriple != null)
documentation = documentationTriple.getObject().toString();
Triple typeTriple = query.selectSingle(pageid, "type", null);
if (typeTriple == null)
typeTriple = query.selectSingle(pageid, "Property:SMW_Type_type", null);
if (typeTriple != null)
type = typeTriple.getObject().toString();
Triple typepageTriple = query.selectSingle(pageid, "typepage", null);
if (typepageTriple == null)
typepageTriple = query.selectSingle(pageid,
"Property:SMW_Type_typepage", null);
if (typepageTriple != null)
typepage = typepageTriple.getObject().toString();
Triple helppageTriple = query.selectSingle(pageid, "helppage", null);
if (helppageTriple == null)
helppageTriple = query.selectSingle(pageid,
"Property:SMW_Type_helppage", null);
if (helppageTriple != null)
helppage = helppageTriple.getObject().toString();
Triple javaTypeTriple = query.selectSingle(pageid, "javaType", null);
if (javaTypeTriple == null)
javaTypeTriple = query.selectSingle(pageid,
"Property:SMW_Type_javaType", null);
if (javaTypeTriple != null)
javaType = javaTypeTriple.getObject().toString();
Triple usedByPropertiesTriple = query.selectSingle(pageid,
"usedByProperties", null);
if (usedByPropertiesTriple == null)
usedByPropertiesTriple = query.selectSingle(pageid,
"Property:SMW_Type_usedByProperties", null);
if (usedByPropertiesTriple != null)
usedByProperties = usedByPropertiesTriple.getObject().toString();
init(query);
} // constructor for SMW_Type
// >>>{user defined topic code}{SMW_Type}{SMW_Type}
// <<<{user defined topic code}{SMW_Type}{SMW_Type}
} // class SMW_Type
/**
* Manager for SMW_Type
*/
public static class SMW_TypeManager extends TopicBase {
public String topicName = "SMW_Type";
public List<SMW_Type> mSMW_Types = new ArrayList<SMW_Type>();
public Map<String, SMW_Type> mSMW_TypeMap = new TreeMap<String, SMW_Type>();
/**
* add a new SMW_Type
*/
public SMW_Type add(SMW_Type pSMW_Type) {
mSMW_Types.add(pSMW_Type);
mSMW_TypeMap.put(pSMW_Type.getPageid(), pSMW_Type);
return pSMW_Type;
}
/**
* add a new SMW_Type from the given triple
*/
public SMW_Type add(TripleQuery query, Triple pSMW_TypeTriple) {
SMW_Type lSMW_Type = new SMW_Type(query, pSMW_TypeTriple);
add(lSMW_Type);
return lSMW_Type;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public SMW_TypeManager() {
}
// construct me from the given triple Query query
public SMW_TypeManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lSMW_TypeQuery = query.query(null, "isA", "SMW_Type");
for (Triple lSMW_TypeTriple : lSMW_TypeQuery.getTriples()) {
add(query, lSMW_TypeTriple);
}
// then the SMW triplestore
lSMW_TypeQuery = query.query(null, "Property:IsA", "SMW_Type");
for (Triple lSMW_TypeTriple : lSMW_TypeQuery.getTriples()) {
add(query, lSMW_TypeTriple);
}
init(query);
} // constructor for SMW_Type Manager
// >>>{user defined topicmanager code}{SMW_Type}{SMW_Type}
// <<<{user defined topicmanager code}{SMW_Type}{SMW_Type}
} // class SMW_Type Manager
/**
* Property
* a Property is a Feature/Attribute
*/
public static class Property extends TopicBase {
public String pageid;
public String inputType;
public String defaultValue;
public String mandatory;
public String allowedValues;
public String uploadable;
public String index;
public String sortPos;
public String showInGrid;
public String values_from;
public String isLink;
public String size;
public String topic;
public String label;
public String name;
public String primaryKey;
public String documentation;
public String namespace;
public String type;
public String getInputType() {
return inputType;
}
public void setInputType(String pInputType) {
inputType = pInputType;
}
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String pDefaultValue) {
defaultValue = pDefaultValue;
}
public String getMandatory() {
return mandatory;
}
public void setMandatory(String pMandatory) {
mandatory = pMandatory;
}
public String getAllowedValues() {
return allowedValues;
}
public void setAllowedValues(String pAllowedValues) {
allowedValues = pAllowedValues;
}
public String getUploadable() {
return uploadable;
}
public void setUploadable(String pUploadable) {
uploadable = pUploadable;
}
public String getIndex() {
return index;
}
public void setIndex(String pIndex) {
index = pIndex;
}
public String getSortPos() {
return sortPos;
}
public void setSortPos(String pSortPos) {
sortPos = pSortPos;
}
public String getShowInGrid() {
return showInGrid;
}
public void setShowInGrid(String pShowInGrid) {
showInGrid = pShowInGrid;
}
public String getValues_from() {
return values_from;
}
public void setValues_from(String pValues_from) {
values_from = pValues_from;
}
public String getIsLink() {
return isLink;
}
public void setIsLink(String pIsLink) {
isLink = pIsLink;
}
public String getSize() {
return size;
}
public void setSize(String pSize) {
size = pSize;
}
public String getTopic() {
return topic;
}
public void setTopic(String pTopic) {
topic = pTopic;
}
public String getLabel() {
return label;
}
public void setLabel(String pLabel) {
label = pLabel;
}
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
public String getPrimaryKey() {
return primaryKey;
}
public void setPrimaryKey(String pPrimaryKey) {
primaryKey = pPrimaryKey;
}
public String getDocumentation() {
return documentation;
}
public void setDocumentation(String pDocumentation) {
documentation = pDocumentation;
}
public String getNamespace() {
return namespace;
}
public void setNamespace(String pNamespace) {
namespace = pNamespace;
}
public String getType() {
return type;
}
public void setType(String pType) {
type = pType;
}
/**
* convert this Property to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for Property
*/
public Property() {
}
/**
* construct a Property from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pPropertyTriple
* - the triple to construct me from
*/
public Property(TripleQuery query, Triple pPropertyTriple) {
this(query, pPropertyTriple.getSubject().toString());
} // constructor
/**
* construct a Property from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public Property(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple inputTypeTriple = query.selectSingle(pageid, "inputType", null);
if (inputTypeTriple == null)
inputTypeTriple = query.selectSingle(pageid,
"Property:Property_inputType", null);
if (inputTypeTriple != null)
inputType = inputTypeTriple.getObject().toString();
Triple defaultValueTriple = query.selectSingle(pageid, "defaultValue",
null);
if (defaultValueTriple == null)
defaultValueTriple = query.selectSingle(pageid,
"Property:Property_defaultValue", null);
if (defaultValueTriple != null)
defaultValue = defaultValueTriple.getObject().toString();
Triple mandatoryTriple = query.selectSingle(pageid, "mandatory", null);
if (mandatoryTriple == null)
mandatoryTriple = query.selectSingle(pageid,
"Property:Property_mandatory", null);
if (mandatoryTriple != null)
mandatory = mandatoryTriple.getObject().toString();
Triple allowedValuesTriple = query.selectSingle(pageid, "allowedValues",
null);
if (allowedValuesTriple == null)
allowedValuesTriple = query.selectSingle(pageid,
"Property:Property_allowedValues", null);
if (allowedValuesTriple != null)
allowedValues = allowedValuesTriple.getObject().toString();
Triple uploadableTriple = query.selectSingle(pageid, "uploadable", null);
if (uploadableTriple == null)
uploadableTriple = query.selectSingle(pageid,
"Property:Property_uploadable", null);
if (uploadableTriple != null)
uploadable = uploadableTriple.getObject().toString();
Triple indexTriple = query.selectSingle(pageid, "index", null);
if (indexTriple == null)
indexTriple = query.selectSingle(pageid, "Property:Property_index",
null);
if (indexTriple != null)
index = indexTriple.getObject().toString();
Triple sortPosTriple = query.selectSingle(pageid, "sortPos", null);
if (sortPosTriple == null)
sortPosTriple = query.selectSingle(pageid, "Property:Property_sortPos",
null);
if (sortPosTriple != null)
sortPos = sortPosTriple.getObject().toString();
Triple showInGridTriple = query.selectSingle(pageid, "showInGrid", null);
if (showInGridTriple == null)
showInGridTriple = query.selectSingle(pageid,
"Property:Property_showInGrid", null);
if (showInGridTriple != null)
showInGrid = showInGridTriple.getObject().toString();
Triple values_fromTriple = query
.selectSingle(pageid, "values_from", null);
if (values_fromTriple == null)
values_fromTriple = query.selectSingle(pageid,
"Property:Property_values_from", null);
if (values_fromTriple != null)
values_from = values_fromTriple.getObject().toString();
Triple isLinkTriple = query.selectSingle(pageid, "isLink", null);
if (isLinkTriple == null)
isLinkTriple = query.selectSingle(pageid, "Property:Property_isLink",
null);
if (isLinkTriple != null)
isLink = isLinkTriple.getObject().toString();
Triple sizeTriple = query.selectSingle(pageid, "size", null);
if (sizeTriple == null)
sizeTriple = query.selectSingle(pageid, "Property:Property_size", null);
if (sizeTriple != null)
size = sizeTriple.getObject().toString();
Triple topicTriple = query.selectSingle(pageid, "topic", null);
if (topicTriple == null)
topicTriple = query.selectSingle(pageid, "Property:Property_topic",
null);
if (topicTriple != null)
topic = topicTriple.getObject().toString();
Triple labelTriple = query.selectSingle(pageid, "label", null);
if (labelTriple == null)
labelTriple = query.selectSingle(pageid, "Property:Property_label",
null);
if (labelTriple != null)
label = labelTriple.getObject().toString();
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query.selectSingle(pageid, "Property:Property_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
Triple primaryKeyTriple = query.selectSingle(pageid, "primaryKey", null);
if (primaryKeyTriple == null)
primaryKeyTriple = query.selectSingle(pageid,
"Property:Property_primaryKey", null);
if (primaryKeyTriple != null)
primaryKey = primaryKeyTriple.getObject().toString();
Triple documentationTriple = query.selectSingle(pageid, "documentation",
null);
if (documentationTriple == null)
documentationTriple = query.selectSingle(pageid,
"Property:Property_documentation", null);
if (documentationTriple != null)
documentation = documentationTriple.getObject().toString();
Triple namespaceTriple = query.selectSingle(pageid, "namespace", null);
if (namespaceTriple == null)
namespaceTriple = query.selectSingle(pageid,
"Property:Property_namespace", null);
if (namespaceTriple != null)
namespace = namespaceTriple.getObject().toString();
Triple typeTriple = query.selectSingle(pageid, "type", null);
if (typeTriple == null)
typeTriple = query.selectSingle(pageid, "Property:Property_type", null);
if (typeTriple != null)
type = typeTriple.getObject().toString();
init(query);
} // constructor for Property
// >>>{user defined topic code}{Property}{Property}
@Override
public void init(TripleQuery query) {
if (isLink == null) {
isLink = "false";
}
if (name == null) {
// use page id e.g. Concept_name
String idparts[] = pageid.split("_");
name = pageid.replaceFirst(idparts[0] + "_", "");
}
if (label == null) {
label = name;
}
if (type == null) {
type = "Text";
}
if (type.startsWith("Special:Types/")) {
type = type.replace("Special:Types/", "");
}
}
// <<<{user defined topic code}{Property}{Property}
} // class Property
/**
* Manager for Property
*/
public static class PropertyManager extends TopicBase {
public String topicName = "Property";
public transient List<Property> mPropertys = new ArrayList<Property>();
public transient Map<String, Property> mPropertyMap = new LinkedHashMap<String, Property>();
/**
* add a new Property
*/
public Property add(Property pProperty) {
if (mPropertyMap.containsKey(pProperty.getName())) {
LOGGER.log(Level.WARNING, "duplicate property " + pProperty.getName()
+ " from pageid " + pProperty.getPageid());
} else {
mPropertys.add(pProperty);
mPropertyMap.put(pProperty.getName(), pProperty);
}
return pProperty;
}
/**
* add a new Property from the given triple
*/
public Property add(TripleQuery query, Triple pPropertyTriple) {
Property lProperty = new Property(query, pPropertyTriple);
add(lProperty);
return lProperty;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public PropertyManager() {
}
// construct me from the given triple Query query
public PropertyManager(TripleQuery query) {
// first query the SiDIF based triplestore
TripleQuery lPropertyQuery = query.query(null, "isA", "Property");
for (Triple lPropertyTriple : lPropertyQuery.getTriples()) {
add(query, lPropertyTriple);
}
// then the SMW triplestore
lPropertyQuery = query.query(null, "Property:IsA", "Property");
for (Triple lPropertyTriple : lPropertyQuery.getTriples()) {
add(query, lPropertyTriple);
}
init(query);
} // constructor for Property Manager
// >>>{user defined topicmanager code}{Property}{Property}
// <<<{user defined topicmanager code}{Property}{Property}
} // class Property Manager
/**
* TopicLink
*
*/
public static class TopicLink extends TopicBase {
public String pageid;
public String name;
public String sourceRole;
public String sourceMultiple;
public String source;
public String sourceDocumentation;
public String targetRole;
public String targetMultiple;
public String target;
public String masterDetail;
public String targetDocumentation;
public String getName() {
return name;
}
public void setName(String pName) {
name = pName;
}
public String getSourceRole() {
return sourceRole;
}
public void setSourceRole(String pSourceRole) {
sourceRole = pSourceRole;
}
public String getSourceMultiple() {
return sourceMultiple;
}
public void setSourceMultiple(String pSourceMultiple) {
sourceMultiple = pSourceMultiple;
}
public String getSource() {
return source;
}
public void setSource(String pSource) {
source = pSource;
}
public String getSourceDocumentation() {
return sourceDocumentation;
}
public void setSourceDocumentation(String pSourceDocumentation) {
sourceDocumentation = pSourceDocumentation;
}
public String getTargetRole() {
return targetRole;
}
public void setTargetRole(String pTargetRole) {
targetRole = pTargetRole;
}
public String getTargetMultiple() {
return targetMultiple;
}
public void setTargetMultiple(String pTargetMultiple) {
targetMultiple = pTargetMultiple;
}
public String getTarget() {
return target;
}
public void setTarget(String pTarget) {
target = pTarget;
}
public String getMasterDetail() {
return masterDetail;
}
public void setMasterDetail(String pMasterDetail) {
masterDetail = pMasterDetail;
}
public String getTargetDocumentation() {
return targetDocumentation;
}
public void setTargetDocumentation(String pTargetDocumentation) {
targetDocumentation = pTargetDocumentation;
}
/**
* convert this TopicLink to a JSON string
*/
public String toJson() {
return JSON.toJSONString(this);
}
/**
* get the pageid for this topic
*/
public String getPageid() {
return pageid;
};
/**
* default constructor for TopicLink
*/
public TopicLink() {
}
/**
* construct a TopicLink from the given Triple
*
* @param query
* - the TripleQuery to get the triples from
* @param pTopicLinkTriple
* - the triple to construct me from
*/
public TopicLink(TripleQuery query, Triple pTopicLinkTriple) {
this(query, pTopicLinkTriple.getSubject().toString());
} // constructor
/**
* construct a TopicLink from the given pageId
*
* @param query
* - the TripleQuery to get the triples from
* @param pageid
* - pageid
*/
public TopicLink(TripleQuery query, String pageid) {
this.pageid = pageid;
Triple nameTriple = query.selectSingle(pageid, "name", null);
if (nameTriple == null)
nameTriple = query
.selectSingle(pageid, "Property:TopicLink_name", null);
if (nameTriple != null)
name = nameTriple.getObject().toString();
Triple sourceRoleTriple = query.selectSingle(pageid, "sourceRole", null);
if (sourceRoleTriple == null)
sourceRoleTriple = query.selectSingle(pageid,
"Property:TopicLink_sourceRole", null);
if (sourceRoleTriple != null)
sourceRole = sourceRoleTriple.getObject().toString();
Triple sourceMultipleTriple = query.selectSingle(pageid,
"sourceMultiple", null);
if (sourceMultipleTriple == null)
sourceMultipleTriple = query.selectSingle(pageid,
"Property:TopicLink_sourceMultiple", null);
if (sourceMultipleTriple != null)
sourceMultiple = sourceMultipleTriple.getObject().toString();
Triple sourceTriple = query.selectSingle(pageid, "source", null);
if (sourceTriple == null)
sourceTriple = query.selectSingle(pageid, "Property:TopicLink_source",
null);
if (sourceTriple != null)
source = sourceTriple.getObject().toString();
Triple sourceDocumentationTriple = query.selectSingle(pageid,
"sourceDocumentation", null);
if (sourceDocumentationTriple == null)
sourceDocumentationTriple = query.selectSingle(pageid,
"Property:TopicLink_sourceDocumentation", null);
if (sourceDocumentationTriple != null)
sourceDocumentation = sourceDocumentationTriple.getObject().toString();
Triple targetRoleTriple = query.selectSingle(pageid, "targetRole", null);
if (targetRoleTriple == null)
targetRoleTriple = query.selectSingle(pageid,
"Property:TopicLink_targetRole", null);
if (targetRoleTriple != null)
targetRole = targetRoleTriple.getObject().toString();
Triple targetMultipleTriple = query.selectSingle(pageid,
"targetMultiple", null);
if (targetMultipleTriple == null)
targetMultipleTriple = query.selectSingle(pageid,
"Property:TopicLink_targetMultiple", null);
if (targetMultipleTriple != null)
targetMultiple = targetMultipleTriple.getObject().toString();
Triple targetTriple = query.selectSingle(pageid, "target", null);
if (targetTriple == null)
targetTriple = query.selectSingle(pageid, "Property:TopicLink_target",
null);
if (targetTriple != null)
target = targetTriple.getObject().toString();
Triple masterDetailTriple = query.selectSingle(pageid, "masterDetail",
null);
if (masterDetailTriple == null)
masterDetailTriple = query.selectSingle(pageid,
"Property:TopicLink_masterDetail", null);
if (masterDetailTriple != null)
masterDetail = masterDetailTriple.getObject().toString();
Triple targetDocumentationTriple = query.selectSingle(pageid,
"targetDocumentation", null);
if (targetDocumentationTriple == null)
targetDocumentationTriple = query.selectSingle(pageid,
"Property:TopicLink_targetDocumentation", null);
if (targetDocumentationTriple != null)
targetDocumentation = targetDocumentationTriple.getObject().toString();
init(query);
} // constructor for TopicLink
// >>>{user defined topic code}{TopicLink}{TopicLink}
public transient Topic sourceTopic = null;
public transient Topic targetTopic = null;
// <<<{user defined topic code}{TopicLink}{TopicLink}
} // class TopicLink
/**
* Manager for TopicLink
*/
public static class TopicLinkManager extends TopicBase {
public String topicName = "TopicLink";
public List<TopicLink> mTopicLinks = new ArrayList<TopicLink>();
public Map<String, TopicLink> mTopicLinkMap = new TreeMap<String, TopicLink>();
/**
* add a new TopicLink
*/
public TopicLink add(TopicLink pTopicLink) {
mTopicLinks.add(pTopicLink);
mTopicLinkMap.put(pTopicLink.getPageid(), pTopicLink);
return pTopicLink;
}
/**
* add a new TopicLink from the given triple
*/
public TopicLink add(TripleQuery query, Triple pTopicLinkTriple) {
TopicLink lTopicLink = new TopicLink(query, pTopicLinkTriple);
add(lTopicLink);
return lTopicLink;
}
// convert this manager to json format
public String toJson() {
return JSON.toJSONString(this);
}
// default constructor
public TopicLinkManager() {
}
// construct me from the given triple Query query
public TopicLinkManager(TripleQuery query) {
// first query the SiDIF bases triplestore
TripleQuery lTopicLinkQuery = query.query(null, "isA", "TopicLink");
for (Triple lTopicLinkTriple : lTopicLinkQuery.getTriples()) {
add(query, lTopicLinkTriple);
}
// then the SMW triplestore
lTopicLinkQuery = query.query(null, "Property:IsA", "TopicLink");
for (Triple lTopicLinkTriple : lTopicLinkQuery.getTriples()) {
add(query, lTopicLinkTriple);
}
init(query);
} // constructor for TopicLink Manager
// >>>{user defined topicmanager code}{TopicLink}{TopicLink}
// <<<{user defined topicmanager code}{TopicLink}{TopicLink}
} // class TopicLink Manager
}
@{
// global variables
// will only be set if tripleStore argument is available e.g. not for dialogs
Topic maintopic=null;
TripleQuery query=null;
TripleQuery topics=null;
ContextManager mContextManager=null;
TopicManager mTopicManager=null;
String maintopicName=null;
if (tripleStore!=null) {
query=tripleStore.query();
topics=query.query(null,"isA","Topic");
mContextManager=new ContextManager(tripleStore);
mTopicManager=new TopicManager(query);
// PropertyManager mPropertyManager=new PropertyManager(query);
// TopicLinkManager mTopicLinkManager=new TopicLinkManager(query);
// SMW_TypeManager mSMW_TypeManager=new SMW_TypeManager(query);
mTopicManager.configureTopics();
maintopicName=wikiTask.getParams();
if (maintopicName!=null) {
maintopic=mTopicManager.byName(maintopicName);
}
}
}
</source>
6c95a04ad8c5a4f508ffa7652b8e1a6b24b35fb5
MetaModel
0
34
340
199
2017-11-05T18:05:15Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:14Z
wikitext
text/x-wiki
{{Context
|name=MetaModel
|since=2015/01/23
|master=http://master.bitplan.com
|storemode=property
}}
__NOCACHE__
= Topics =
{{Context
|name=Metamodel
|storemode=none
|viewmode=masterdetail
}}
= WikiTask =
{{ContextWikitask
|context=MetaModel
}}
= Model =
=== sidif ===
<source lang='xml' id='sidif'>
#
# Context:MetaModel
#
MetaModel isA Context
"MetaModel" is name of it
#
#Context
#
Context isA Topic
"Context" is name of it
"Contexts" is pluralName of it
"A Context groups some topics like a Namespace/Package" is documentation of it
"A Context groups some topics like a Namespace/Package" is wikiDocumentation of it
"File:Registry.png" is icon of it
"/images/d/d2/Registry.png" is iconUrl of it
"property" is defaultstoremode of it
"MetaModel" is context of it
Context_name addsTo it
Context_since addsTo it
Context_master addsTo it
# properties of Context
# property name
Context_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
1 is index of it
1 is sortPos of it
true is primaryKey of it
true is mandatory of it
80 is size of it
false is uploadable of it
"Name of the context" is documentation of it
false is isLink of it
"Context" is topic of it
# property since
Context_since isA Property
"since" is name of it
"since" is label of it
"Date" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"datepicker" is inputType of it
"since when is this context available?" is documentation of it
true is showInGrid of it
false is isLink of it
"Context" is topic of it
# property master
Context_master isA Property
"master" is name of it
"master" is label of it
"URL" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"what is the original master source of this context" is documentation of it
true is showInGrid of it
false is isLink of it
"Context" is topic of it
#
#Property
#
Property isA Topic
"Property" is name of it
"Properties" is pluralName of it
"a Property is a Feature/Attribute of a Topic" is documentation of it
"see
* https://semantic-mediawiki.org/wiki/Help:Properties_and_types
* https://semantic-mediawiki.org/wiki/Help:Special_properties
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes" is wikiDocumentation of it
"File:Element_into_input.png" is icon of it
"/images/6/6a/Element_into_input.png" is iconUrl of it
"property" is defaultstoremode of it
"MetaModel" is context of it
Property_name addsTo it
Property_label addsTo it
Property_type addsTo it
Property_index addsTo it
Property_sortPos addsTo it
Property_primaryKey addsTo it
Property_mandatory addsTo it
Property_namespace addsTo it
Property_size addsTo it
Property_uploadable addsTo it
Property_defaultValue addsTo it
Property_inputType addsTo it
Property_allowedValues addsTo it
Property_documentation addsTo it
Property_values_from addsTo it
Property_showInGrid addsTo it
Property_isLink addsTo it
Property_nullable addsTo it
# properties of Property
# property name
Property_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
1 is index of it
1 is sortPos of it
true is primaryKey of it
true is mandatory of it
50 is size of it
false is uploadable of it
"The name of the property" is documentation of it
false is isLink of it
"Property" is topic of it
# property label
Property_label isA Property
"label" is name of it
"label" is label of it
"Text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The label to be shown when in a form" is documentation of it
false is isLink of it
"Property" is topic of it
# property type
Property_type isA Property
"type" is name of it
"type" is label of it
"Page" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"Special:Types/Text" is defaultValue of it
"dropdown" is inputType of it
"The type of a Property" is documentation of it
"property=Property_type" is values_from of it
true is showInGrid of it
false is isLink of it
"Property" is topic of it
# property index
Property_index isA Property
"index" is name of it
"index" is label of it
"Number" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"A positive number that specifies at which position of a Topic the given property should show. The first property to show has the index 1 each following property has an index that is +1 of the previous." is documentation of it
true is showInGrid of it
false is isLink of it
"Property" is topic of it
# property sortPos
Property_sortPos isA Property
"sortPos" is name of it
"sortPos" is label of it
"Number" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
3 is size of it
false is uploadable of it
"If none empty >0 this is the position in the sort clause of this
property. This is used when displaying list of the topic as the default sort order
and it is used for selecting topics .
E.g.
Sortpos 1 for attribute lastname and sortpos 2 for attribute firstname leads to sort by lastname,firstname" is documentation of it
false is isLink of it
"Property" is topic of it
# property primaryKey
Property_primaryKey isA Property
"primaryKey" is name of it
"primary key" is label of it
"Boolean" is type of it
6 is index of it
false is primaryKey of it
false is mandatory of it
4 is size of it
false is uploadable of it
"is this property a primary key of it's topic?" is documentation of it
false is isLink of it
"Property" is topic of it
# property mandatory
Property_mandatory isA Property
"mandatory" is name of it
"mandatory" is label of it
"Boolean" is type of it
7 is index of it
false is primaryKey of it
false is mandatory of it
4 is size of it
false is uploadable of it
"Specifies that this field must be filled in by the user. Note: mandatory should not be used in conjunction with hidden. Use of both in any field will cause the mandatory check on any field to fail when the form is saved.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag" is documentation of it
false is isLink of it
"Property" is topic of it
# property namespace
Property_namespace isA Property
"namespace" is name of it
"namespace" is label of it
"Text" is type of it
8 is index of it
false is primaryKey of it
false is mandatory of it
20 is size of it
false is uploadable of it
"namespace prefix" is documentation of it
false is isLink of it
"Property" is topic of it
# property size
Property_size isA Property
"size" is name of it
"size" is label of it
"Number" is type of it
9 is index of it
false is primaryKey of it
false is mandatory of it
3 is size of it
false is uploadable of it
"the display size of the field for the property" is documentation of it
false is isLink of it
"Property" is topic of it
# property uploadable
Property_uploadable isA Property
"uploadable" is name of it
"uploadable" is label of it
"Boolean" is type of it
10 is index of it
false is primaryKey of it
false is mandatory of it
4 is size of it
false is uploadable of it
"Specifies that a link should be placed next to this field, that opens a popup window to let the user upload a file; see 'Uploading files', below. See
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Uploading_files
The type of the target property needs to be Page for this to work" is documentation of it
false is isLink of it
"Property" is topic of it
# property defaultValue
Property_defaultValue isA Property
"defaultValue" is name of it
"default" is label of it
"Code" is type of it
11 is index of it
false is primaryKey of it
false is mandatory of it
80 is size of it
false is uploadable of it
"default value - Specifies a default value for this field. For date-related fields, default=now will set the value to the current date and possibly time. For text fields, default=current user will set the value to the username of the user adding this page. For the checkbox input type, default=yes will check the checkbox by default. (The 'checkboxes' input type, on the other hand, like the 'listbox' type, requires specifying the actual values, like default=Value A, Value C.) You can also include templates, parser functions, and magic words within the 'default=' value.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag (default)" is documentation of it
false is isLink of it
"Property" is topic of it
# property inputType
Property_inputType isA Property
"inputType" is name of it
"inputType" is label of it
"Text" is type of it
12 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"dropdown" is inputType of it
"text, combobox, dropdown, textarea, tree, datetime, datepicker, timepicker, datetimepicker, menuselect,two listboxes, datecheck, regexp, radiobutton, googlemaps" is allowedValues of it
"see
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>input type - Specifies the type of input this field will have in the form. If a field corresponds to an SMW property or Cargo field, the form will usually have the correct input type by default; otherwise the default is text. If the corresponding SMW property, or Cargo field, cannot be automatically determined, you can use the parameter 'property', or the parameters 'cargo table' and 'cargo field', to manually specify it (see below). The allowed set of input types is different for every semantic property type; see below for the full list of options.
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Allowed_input_types_for_data_types
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms_Inputs" is documentation of it
false is isLink of it
"Property" is topic of it
# property allowedValues
Property_allowedValues isA Property
"allowedValues" is name of it
"allowedValues" is label of it
"Text" is type of it
13 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"There are two ways to specified allowed Values:
# https://semantic-mediawiki.org/wiki/Help:Special_property_Allows_value. <br>Use [[Property:Allows_value]] to see which values are allowed for certain properties
# http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>values=possible values - Specifies a set of either possible values or autocompletion values (depending on the input type) that this field can have, overriding whatever set of values may have been set from the Semantic MediaWiki property. This set of values is separated by commas by default, but the delimiter can be modified using the delimiter= parameter.
If you specify any values method number 2 will be used here which might override any allowed Values specified with method number 1." is documentation of it
false is isLink of it
"Property" is topic of it
# property documentation
Property_documentation isA Property
"documentation" is name of it
"documentation" is label of it
"Text" is type of it
14 is index of it
false is primaryKey of it
false is mandatory of it
500 is size of it
false is uploadable of it
"textarea" is inputType of it
"The documentation for a property" is documentation of it
false is isLink of it
"Property" is topic of it
# property values_from
Property_values_from isA Property
"values_from" is name of it
"values from" is label of it
"Code" is type of it
15 is index of it
false is primaryKey of it
false is mandatory of it
200 is size of it
false is uploadable of it
"textarea" is inputType of it
"Specifies where to get the possible values to be displayed in a form from see
http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* values from property=property name - Similar to values=, but gets its values from the the set of all values that a certain SMW property points to.
* values from category=category name - Similar to values=, but gets its values from the names of all pages belonging to a specific category.
* values from concept=concept name - Similar to values=, but gets its values from the names of all pages belonging to a specific concept.
* values from namespace=namespace name - Similar to values=, but gets its values from the names of all pages belonging to a specific namespace. (To get values from the main namespace, use 'Main' for the namespace name, or just leave it blank.)
* values from url=URL identifier - Used only for autocompletion. Specifies that autocompletion should be based on the values retrieved from an outside URL; see Autocompleting on outside values for how to do this.
* values from external data=variable name - Used for autocompletion. You need to have theExternal Data extension installed to be able to use this parameter. It specifies that autocompletion should be based on the data retrieved from an outside source. A large number of data sources are supported, including web APIs, regular wiki pages, files on the local server, databases and LDAP directories. See Autocompletion using External Data." is documentation of it
false is isLink of it
"Property" is topic of it
# property showInGrid
Property_showInGrid isA Property
"showInGrid" is name of it
"showInGrid" is label of it
"Boolean" is type of it
16 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"true" is defaultValue of it
"I am true if this property is displayed in the default list of properties for my topic as
a column" is documentation of it
true is showInGrid of it
false is isLink of it
"Property" is topic of it
# property isLink
Property_isLink isA Property
"isLink" is name of it
"isLink" is label of it
"Boolean" is type of it
17 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"true if this Property is derived form a Link. It will not be exported to SiDIF separately and automatically be added by the Property Generator" is documentation of it
false is showInGrid of it
false is isLink of it
"Property" is topic of it
# property nullable
Property_nullable isA Property
"nullable" is name of it
"allow nulls?" is label of it
"Boolean" is type of it
18 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"false" is defaultValue of it
"should nullvalues be allowed and value set to NULL when empty?" is documentation of it
false is showInGrid of it
false is isLink of it
"Property" is topic of it
#
#SMW_Type
#
SMW_Type isA Topic
"SMW_Type" is name of it
"SMW_Types" is pluralName of it
"an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/false values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes" is documentation of it
"see
* https://semantic-mediawiki.org/wiki/Special:Types
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes" is wikiDocumentation of it
"File:Component.png" is icon of it
"/images/4/40/Component.png" is iconUrl of it
"subobject" is defaultstoremode of it
"MetaModel" is context of it
SMW_Type_type addsTo it
SMW_Type_documentation addsTo it
SMW_Type_helppage addsTo it
SMW_Type_typepage addsTo it
SMW_Type_javaType addsTo it
SMW_Type_id addsTo it
SMW_Type_type isA Property
"type" is name of it
"type" is label of it
"Text" is type of it
1 is index of it
true is primaryKey of it
true is mandatory of it
50 is size of it
false is uploadable of it
"The Semantic MediaWiki type without the prefix e.g. Text, Number, Boolean" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
SMW_Type_documentation isA Property
"documentation" is name of it
"documentation" is label of it
"Text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The documentation of this Semantic Media Wiki type" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
# property id
SMW_Type_id isA Property
"id" is name of it
"id" is label of it
"Text" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"SMW internal id of the type" is documentation of it
true is showInGrid of it
false is isLink of it
"SMW_Type" is topic of it
SMW_Type_helppage isA Property
"helppage" is name of it
"helppage" is label of it
"URL" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The url of the 'official' documentation page of this type" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
SMW_Type_typepage isA Property
"typepage" is name of it
"typepage" is label of it
"Page" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The Semantic Media Wiki Special page for this specific type e.g. Special:Types/Text, Special:Types/Boolean, Special:Types/Date, Special:Types/Number, Special:Types/Page" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
SMW_Type_javaType isA Property
"javaType" is name of it
"java Type" is label of it
"Text" is type of it
6 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"Java mapping of this type" is documentation of it
false is isLink of it
"SMW_Type" is topic of it
#
#Topic
#
Topic isA Topic
"Topic" is name of it
"Topics" is pluralName of it
"A Topic is a Concept/Class/Thing/Entity" is documentation of it
"A Topic is a Concept/Class/Thing/Entity" is wikiDocumentation of it
"File:Index.png" is icon of it
"/images/a/ae/Index.png" is iconUrl of it
"property" is defaultstoremode of it
false is cargo of it
"MetaModel" is context of it
Topic_name addsTo it
Topic_pluralName addsTo it
Topic_icon addsTo it
Topic_iconUrl addsTo it
Topic_documentation addsTo it
Topic_wikiDocumentation addsTo it
Topic_defaultstoremode addsTo it
Topic_listLimit addsTo it
Topic_cargo addsTo it
Topic_headerTabs addsTo it
# properties of Topic
# property name
Topic_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
1 is index of it
true is primaryKey of it
true is mandatory of it
80 is size of it
false is uploadable of it
"The name of the topic" is documentation of it
false is isLink of it
"Topic" is topic of it
# property pluralName
Topic_pluralName isA Property
"pluralName" is name of it
"pluralName" is label of it
"Text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The plural of a topic name. E.g. for the topic 'City' the pluralName is 'Cities'. If no pluralName is specified an 's' is appended. E.g. for the topic 'Book' the default pluralName is 'Books'" is documentation of it
false is isLink of it
"Topic" is topic of it
# property icon
Topic_icon isA Property
"icon" is name of it
"icon" is label of it
"Page" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
"File" is namespace of it
55 is size of it
true is uploadable of it
"an Icon for the topic" is documentation of it
false is showInGrid of it
false is isLink of it
"Topic" is topic of it
# property iconUrl
Topic_iconUrl isA Property
"iconUrl" is name of it
"icon Url" is label of it
"URL" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
80 is size of it
false is uploadable of it
"text" is inputType of it
"the url of an icon" is documentation of it
false is showInGrid of it
false is isLink of it
"Topic" is topic of it
# property documentation
Topic_documentation isA Property
"documentation" is name of it
"documentation" is label of it
"Text" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The plaintext documentation of a Topic. Please do not use markup for this." is documentation of it
false is isLink of it
"Topic" is topic of it
# property wikiDocumentation
Topic_wikiDocumentation isA Property
"wikiDocumentation" is name of it
"wikiDocumentation" is label of it
"Text" is type of it
6 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"Documentation of the Topic using MediaWiki / Semantic Mediawiki markup" is documentation of it
false is isLink of it
"Topic" is topic of it
# property defaultstoremode
Topic_defaultstoremode isA Property
"defaultstoremode" is name of it
"default storemode" is label of it
"Text" is type of it
7 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"radiobutton" is inputType of it
"none,property,subobject" is allowedValues of it
"The default storemode of the topic" is documentation of it
false is isLink of it
"Topic" is topic of it
# property listLimit
Topic_listLimit isA Property
"listLimit" is name of it
"list Limit" is label of it
"Number" is type of it
8 is index of it
false is primaryKey of it
false is mandatory of it
4 is size of it
false is uploadable of it
"200" is defaultValue of it
"What is the default #ask list limit for this Topic?" is documentation of it
true is showInGrid of it
false is isLink of it
"Topic" is topic of it
# property cargo
Topic_cargo isA Property
"cargo" is name of it
"use cargo" is label of it
"Boolean" is type of it
9 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"Should the Topic be stored using the [https://www.mediawiki.org/wiki/Extension:Cargo Cargo Extension?]" is documentation of it
false is showInGrid of it
false is isLink of it
"Topic" is topic of it
# property headerTabs
Topic_headerTabs isA Property
"headerTabs" is name of it
"headerTabs" is label of it
"Boolean" is type of it
10 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"shall the forms be generated with header tabs?" is documentation of it
true is showInGrid of it
false is isLink of it
"Topic" is topic of it
#
#Action
#
Action isA Topic
"Action" is name of it
"Actions" is pluralName of it
"An action/function/operation to be performed" is documentation of it
"An action/function/operation to be performed" is wikiDocumentation of it
"File:Actionicon.png" is icon of it
"/images/e/eb/Actionicon.png" is iconUrl of it
"subobject" is defaultstoremode of it
false is cargo of it
"MetaModel" is context of it
Action_name addsTo it
Action_servicetype addsTo it
Action_service addsTo it
Action_inputtype addsTo it
Action_input addsTo it
Action_actionpage addsTo it
Action_output addsTo it
Action_engine addsTo it
Action_author addsTo it
Action_since addsTo it
Action_comment addsTo it
# properties of Action
# property name
Action_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
0 is index of it
true is primaryKey of it
true is mandatory of it
false is uploadable of it
"The name of the Action" is documentation of it
false is isLink of it
"Action" is topic of it
# property servicetype
Action_servicetype isA Property
"servicetype" is name of it
"servicetype" is label of it
"Text" is type of it
1 is index of it
false is primaryKey of it
true is mandatory of it
false is uploadable of it
"WikiTask" is defaultValue of it
"radiobutton" is inputType of it
"WikiTask" is allowedValues of it
"The type of the service" is documentation of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property service
Action_service isA Property
"service" is name of it
"service" is label of it
"URL" is type of it
2 is index of it
"The service to be used" is documentation of it
false is isLink of it
"Action" is topic of it
# property inputtype
Action_inputtype isA Property
"inputtype" is name of it
"inputtype" is label of it
"Text" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"Page" is defaultValue of it
"radiobutton" is inputType of it
"Query,Page,URL" is allowedValues of it
"What is the type of the input?" is documentation of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property input
Action_input isA Property
"input" is name of it
"input" is label of it
"Code" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
300 is size of it
false is uploadable of it
"textarea" is inputType of it
"the decription of the input e.g. a page name, url or SMW ask query" is documentation of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property actionpage
Action_actionpage isA Property
"actionpage" is name of it
"actionpage" is label of it
"Page" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"Property:Action actionpage" is defaultValue of it
"What page will 'steer' this action?" is documentation of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property output
Action_output isA Property
"output" is name of it
"output" is label of it
"Text" is type of it
6 is index of it
"where the output of the action should go" is documentation of it
false is isLink of it
"Action" is topic of it
# property engine
Action_engine isA Property
"engine" is name of it
"engine" is label of it
"Text" is type of it
7 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"rythm" is defaultValue of it
"radiobutton" is inputType of it
"rythm,freemarker" is allowedValues of it
"the template engine to be used either [[Rythm]] or [[Freemarker]]" is documentation of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property author
Action_author isA Property
"author" is name of it
"author" is label of it
"Page" is type of it
8 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"combobox" is inputType of it
"the author of this action" is documentation of it
"namespace=User" is values_from of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property since
Action_since isA Property
"since" is name of it
"since" is label of it
"Date" is type of it
9 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"datepicker" is inputType of it
"since when is this action available?" is documentation of it
true is showInGrid of it
false is isLink of it
"Action" is topic of it
# property comment
Action_comment isA Property
"comment" is name of it
"comment" is label of it
"Text" is type of it
10 is index of it
false is primaryKey of it
false is mandatory of it
400 is size of it
false is uploadable of it
"textarea" is inputType of it
"a comment for the action" is documentation of it
false is showInGrid of it
false is isLink of it
"Action" is topic of it
#
#
#TopicLink
#
TopicLink isA Topic
"TopicLink" is name of it
"TopicLinks" is pluralName of it
"A TopicLink links two Concepts" is documentation of it
"A TopicLink links two [[Concept:Topic]]s" is wikiDocumentation of it
"File:Link.png" is icon of it
"/images/f/fd/Link.png" is iconUrl of it
"subobject" is defaultstoremode of it
"MetaModel" is context of it
TopicLink_name addsTo it
TopicLink_source addsTo it
TopicLink_sourceRole addsTo it
TopicLink_sourceMultiple addsTo it
TopicLink_sourceDocumentation addsTo it
TopicLink_target addsTo it
TopicLink_targetRole addsTo it
TopicLink_targetMultiple addsTo it
TopicLink_targetDocumentation addsTo it
TopicLink_masterDetail addsTo it
TopicLink_name isA Property
"name" is name of it
"name" is label of it
"Text" is type of it
1 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The name of the topic link" is documentation of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_source isA Property
"source" is name of it
"source" is label of it
"Page" is type of it
2 is index of it
false is primaryKey of it
true is mandatory of it
50 is size of it
false is uploadable of it
"dropdown" is inputType of it
"the source of a topic Link" is documentation of it
"concept=Topic" is values_from of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_sourceRole isA Property
"sourceRole" is name of it
"sourceRole" is label of it
"Text" is type of it
3 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_sourceMultiple isA Property
"sourceMultiple" is name of it
"sourceMultiple" is label of it
"Boolean" is type of it
4 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_sourceDocumentation isA Property
"sourceDocumentation" is name of it
"source Doc" is label of it
"Text" is type of it
5 is index of it
false is primaryKey of it
false is mandatory of it
300 is size of it
false is uploadable of it
"textarea" is inputType of it
"Documentation for the source Role" is documentation of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_target isA Property
"target" is name of it
"target" is label of it
"Page" is type of it
6 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_targetRole isA Property
"targetRole" is name of it
"targetRole" is label of it
"Text" is type of it
7 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_targetMultiple isA Property
"targetMultiple" is name of it
"sourceMultiple" is label of it
"Boolean" is type of it
8 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_targetDocumentation isA Property
"targetDocumentation" is name of it
"target Doc" is label of it
"Text" is type of it
9 is index of it
false is primaryKey of it
false is mandatory of it
300 is size of it
false is uploadable of it
"textarea" is inputType of it
"Documentation for the target Role" is documentation of it
false is isLink of it
"TopicLink" is topic of it
TopicLink_masterDetail isA Property
"masterDetail" is name of it
"masterDetail" is label of it
"Boolean" is type of it
10 is index of it
false is primaryKey of it
false is mandatory of it
false is uploadable of it
"should the details be displayed in the same form and template?
If no
* for a 1:1 link there will be a linking attribute used and that can be selected.
* for a 1:n link a link to the list of neighbours will be displayed
if yes
* for a 1:1 link the details
* for a 1:n link" is documentation of it
false is isLink of it
"TopicLink" is topic of it
#
# TopicLinks
#
TopicLinks_containedProperties isA TopicLink
"containedProperties" is name of it
"topic" is sourceRole of it
false is sourceMultiple of it
"Topic" is source of it
"properties" is targetRole of it
true is targetMultiple of it
"Property" is target of it
TopicLinks_containedTopics isA TopicLink
"containedTopics" is name of it
"context" is sourceRole of it
false is sourceMultiple of it
"Context" is source of it
"topics" is targetRole of it
true is targetMultiple of it
"Topic" is target of it
TopicLinks_typeOfProperty isA TopicLink
"typeOfProperty" is name of it
"usedByProperties" is sourceRole of it
true is sourceMultiple of it
"Property" is source of it
"the properties having this type" is sourceDocumentation of it
"smw_type" is targetRole of it
false is targetMultiple of it
"SMW_Type" is target of it
false is masterDetail of it
"the smw_type being used by this property" is targetDocumentation of it
# data
Annotation_URI isA SMW_Type
"Annotation URI" is type of it
"Special:Types/Annotation_URI" is typepage of it
"Holds URIs, but has some technical differences during export compared to the 'URL' type" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Annotation_URI" is helppage of it
Boolean isA SMW_Type
"Boolean" is type of it
"Special:Types/Boolean" is typepage of it
"Holds boolean (true/false) values" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Boolean" is helppage of it
Code isA SMW_Type
"Code" is type of it
"Special:Types/Code" is typepage of it
"Holds technical, pre-formatted texts (similar to type Text)" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Code" is helppage of it
Date isA SMW_Type
"Date" is type of it
"Special:Types/Date" is typepage of it
"Holds particular points in time" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Date" is helppage of it
Email isA SMW_Type
"Email" is type of it
"Special:Types/Email" is typepage of it
"Holds e-mail addresses" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Email" is helppage of it
Geographic_coordinate isA SMW_Type
"Geographic coordinate" is type of it
"Special:Types/Geographic_coordinate" is typepage of it
"Holds coordinates describing geographic locations" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Geographic_coordinate" is helppage of it
Number isA SMW_Type
"Number" is type of it
"Special:Types/Number" is typepage of it
"Holds integer and decimal numbers, with an optional exponent" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Number" is helppage of it
Page isA SMW_Type
"Page" is type of it
"Special:Types/Page" is typepage of it
"Holds names of wiki pages, and displays them as a link" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Page" is helppage of it
Quantity isA SMW_Type
"Quantity" is type of it
"Special:Types/Quantity" is typepage of it
"Holds values that describe quantities, containing both a number and a unit" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Quantity" is helppage of it
Record isA SMW_Type
"Record" is type of it
"Special:Types/Record" is typepage of it
"Allows saving compound property values that consist of a short list of values with fixed type and order" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Record" is helppage of it
Telephone_number isA SMW_Type
"Telephone number" is type of it
"Special:Types/Telephone_number" is typepage of it
"Holds international telephone numbers based on the [https://tools.ietf.org/html/rfc3966 RFC 3966 standard]" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Telephone_number" is helppage of it
Temperature isA SMW_Type
"Temperature" is type of it
"Special:Types/Temperature" is typepage of it
"Holds temperature values (similar to type Quantity)" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Temperature" is helppage of it
Text isA SMW_Type
"Text" is type of it
"Special:Types/Text" is typepage of it
"Holds text of arbitrary length" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_Text" is helppage of it
URL isA SMW_Type
"URL" is type of it
"Special:Types/URL" is typepage of it
"Holds URIs, URNs and URLs" is documentation of it
"https://semantic-mediawiki.org/wiki/Help:Type_URL" is helppage of it
</source>
<headertabs/>
f0126604ea519b89da34fae2f0fb4e14379d6983
Property:Property allowedValues
102
50
341
90
2017-11-05T18:05:15Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:15Z
wikitext
text/x-wiki
{{Property
|name=allowedValues
|label=allowedValues
|documentation=There are two ways to specified allowed Values:
# https://semantic-mediawiki.org/wiki/Help:Special_property_Allows_value. <br>Use [[Property:Allows_value]] to see which values are allowed for certain properties
# http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>values=possible values - Specifies a set of either possible values or autocompletion values (depending on the input type) that this field can have, overriding whatever set of values may have been set from the Semantic MediaWiki property. This set of values is separated by commas by default, but the delimiter can be modified using the delimiter= parameter.
If you specify any values method number 2 will be used here which might override any allowed Values specified with method number 1.
|type=Special:Types/Text
|index=13
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
2ac36da338e113089c0e2b9a50720703cc61b2ad
Property:Property defaultValue
102
51
342
91
2017-11-05T18:05:15Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:15Z
wikitext
text/x-wiki
{{Property
|name=defaultValue
|label=default
|documentation=default value - Specifies a default value for this field. For date-related fields, default=now will set the value to the current date and possibly time. For text fields, default=current user will set the value to the username of the user adding this page. For the checkbox input type, default=yes will check the checkbox by default. (The 'checkboxes' input type, on the other hand, like the 'listbox' type, requires specifying the actual values, like default=Value A, Value C.) You can also include templates, parser functions, and magic words within the 'default=' value.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag (default)
|type=Special:Types/Code
|index=11
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=80
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Code]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
30db847586c121c7cf2d4d23b654efb3cd47b767
Property:Property documentation
102
52
343
92
2017-11-05T18:05:16Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:16Z
wikitext
text/x-wiki
{{Property
|name=documentation
|label=documentation
|documentation=The documentation for a property
|type=Special:Types/Text
|index=14
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=500
|uploadable=false
|defaultValue=
|inputType=textarea
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
75bccc7858640c7332d83bc356c741b6c9b05635
Property:Property inputType
102
53
344
93
2017-11-05T18:05:16Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:16Z
wikitext
text/x-wiki
{{Property
|name=inputType
|label=inputType
|documentation=see
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>input type - Specifies the type of input this field will have in the form. If a field corresponds to an SMW property or Cargo field, the form will usually have the correct input type by default; otherwise the default is text. If the corresponding SMW property, or Cargo field, cannot be automatically determined, you can use the parameter 'property', or the parameters 'cargo table' and 'cargo field', to manually specify it (see below). The allowed set of input types is different for every semantic property type; see below for the full list of options.
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Allowed_input_types_for_data_types
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms_Inputs
|type=Special:Types/Text
|index=12
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=dropdown
|allowedValues=text, combobox, dropdown, textarea, tree, datetime, datepicker, timepicker, datetimepicker, menuselect,two listboxes, datecheck, regexp, radiobutton, googlemaps
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
6635932d195b9e8cbdeeafd77564a217918b426d
Property:Property label
102
54
345
94
2017-11-05T18:05:16Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:16Z
wikitext
text/x-wiki
{{Property
|name=label
|label=label
|documentation=The label to be shown when in a form
|type=Special:Types/Text
|index=2
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
85b1dad554dad747436f0bf9da501ae0425f74dd
Property:Property mandatory
102
55
346
95
2017-11-05T18:05:17Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:17Z
wikitext
text/x-wiki
{{Property
|name=mandatory
|label=mandatory
|documentation=Specifies that this field must be filled in by the user. Note: mandatory should not be used in conjunction with hidden. Use of both in any field will cause the mandatory check on any field to fail when the form is saved.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
|type=Special:Types/Boolean
|index=7
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=4
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
41e19f3549c43db8d77a34b0770308a775638a3a
Property:Property name
102
56
347
96
2017-11-05T18:05:17Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:17Z
wikitext
text/x-wiki
{{Property
|name=name
|label=name
|documentation=The name of the property
|type=Special:Types/Text
|index=1
|sortPos=1
|primaryKey=true
|mandatory=true
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
af54768d0f71ef145b6051b37a4dd0399422161a
Property:Property type
102
57
348
200
2017-11-05T18:05:18Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:17Z
wikitext
text/x-wiki
{{Property
|name=type
|label=type
|documentation=The type of a Property
|type=Special:Types/Page
|index=3
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=Special:Types/Text
|inputType=dropdown
|allowedValues=
|values_from=property=Property_type
|showInGrid=true
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
1b276dd5911f55ed0fe44d49ac3a2e847af0aa96
Property:Property primaryKey
102
58
349
98
2017-11-05T18:05:18Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:18Z
wikitext
text/x-wiki
{{Property
|name=primaryKey
|label=primary key
|documentation=is this property a primary key of it's topic?
|type=Special:Types/Boolean
|index=6
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=4
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
f97437ea3b6975e9460502883afe9cbeda081373
Property:Property namespace
102
59
350
99
2017-11-05T18:05:18Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:18Z
wikitext
text/x-wiki
{{Property
|name=namespace
|label=namespace
|documentation=namespace prefix
|type=Special:Types/Text
|index=8
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=20
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
0a136e59b8f2cb2ef1ce66d8e30f69217aac230d
Property:Property size
102
60
351
100
2017-11-05T18:05:19Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:18Z
wikitext
text/x-wiki
{{Property
|name=size
|label=size
|documentation=the display size of the field for the property
|type=Special:Types/Number
|index=9
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=3
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
9fb8bfd3e0f75da7d7c01fcf39e60e47e42bfe91
Property:Property index
102
61
352
101
2017-11-05T18:05:19Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:19Z
wikitext
text/x-wiki
{{Property
|name=index
|label=index
|documentation=A positive number that specifies at which position of a Topic the given property should show. The first property to show has the index 1 each following property has an index that is +1 of the previous.
|type=Special:Types/Number
|index=4
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
95d162fc8d195abda009d6ff7375f6865223c799
Property:Property sortPos
102
62
353
102
2017-11-05T18:05:19Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:19Z
wikitext
text/x-wiki
{{Property
|name=sortPos
|label=sortPos
|documentation=If none empty >0 this is the position in the sort clause of this
property. This is used when displaying list of the topic as the default sort order
and it is used for selecting topics .
E.g.
Sortpos 1 for attribute lastname and sortpos 2 for attribute firstname leads to sort by lastname,firstname
|type=Special:Types/Number
|index=5
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=3
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
2923f25c0c978f169fe905e531d5a1c3b624c4da
Property:Topic cargo
102
63
354
103
2017-11-05T18:05:20Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:19Z
wikitext
text/x-wiki
{{Property
|name=cargo
|label=use cargo
|documentation=Should the Topic be stored using the [https://www.mediawiki.org/wiki/Extension:Cargo Cargo Extension?]
|type=Special:Types/Boolean
|index=9
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
8f269174118f789690e366b4c366da579dbd063f
Property:Property showInGrid
102
64
355
104
2017-11-05T18:05:20Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:20Z
wikitext
text/x-wiki
{{Property
|name=showInGrid
|label=showInGrid
|documentation=I am true if this property is displayed in the default list of properties for my topic as
a column
|type=Special:Types/Boolean
|index=16
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=true
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
6b06f8bc98c81488d4c39e57b8835561cd3e81df
Property:Property isLink
102
65
356
105
2017-11-05T18:05:20Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:20Z
wikitext
text/x-wiki
{{Property
|name=isLink
|label=isLink
|documentation=true if this Property is derived form a Link. It will not be exported to SiDIF separately and automatically be added by the Property Generator
|type=Special:Types/Boolean
|index=17
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
db634112b8d31523b8466ee2d4f130254f29d459
Property:Property topic
102
66
357
106
2017-11-05T18:05:21Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:20Z
wikitext
text/x-wiki
{{Property
|name=topic
|label=topic
|documentation=
|type=Special:Types/Page
|index=
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=dropdown
|allowedValues=
|values_from=concept=Topic
|showInGrid=
|isLink=true
|topic=Concept:Property
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
80c1fe4abb9e0e2e33bedd726401c0fa4c68f7e3
Property:Property values from
102
67
358
107
2017-11-05T18:05:21Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:21Z
wikitext
text/x-wiki
{{Property
|name=values_from
|label=values from
|documentation=Specifies where to get the possible values to be displayed in a form from see
http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* values from property=property name - Similar to values=, but gets its values from the the set of all values that a certain SMW property points to.
* values from category=category name - Similar to values=, but gets its values from the names of all pages belonging to a specific category.
* values from concept=concept name - Similar to values=, but gets its values from the names of all pages belonging to a specific concept.
* values from namespace=namespace name - Similar to values=, but gets its values from the names of all pages belonging to a specific namespace. (To get values from the main namespace, use 'Main' for the namespace name, or just leave it blank.)
* values from url=URL identifier - Used only for autocompletion. Specifies that autocompletion should be based on the values retrieved from an outside URL; see Autocompleting on outside values for how to do this.
* values from external data=variable name - Used for autocompletion. You need to have theExternal Data extension installed to be able to use this parameter. It specifies that autocompletion should be based on the data retrieved from an outside source. A large number of data sources are supported, including web APIs, regular wiki pages, files on the local server, databases and LDAP directories. See Autocompletion using External Data.
|type=Special:Types/Code
|index=15
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=200
|uploadable=false
|defaultValue=
|inputType=textarea
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Code]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
d033e7eae12ed52710718919daa277c3e49651c2
Property:Property uploadable
102
68
359
108
2017-11-05T18:05:21Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:21Z
wikitext
text/x-wiki
{{Property
|name=uploadable
|label=uploadable
|documentation=Specifies that a link should be placed next to this field, that opens a popup window to let the user upload a file; see 'Uploading files', below. See
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Uploading_files
The type of the target property needs to be Page for this to work
|type=Special:Types/Boolean
|index=10
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=4
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
608e000d7112ba3b6257a25321704770dadd63d0
Property:Topic defaultstoremode
102
69
360
109
2017-11-05T18:05:22Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:22Z
wikitext
text/x-wiki
{{Property
|name=defaultstoremode
|label=default storemode
|documentation=The default storemode of the topic
|type=Special:Types/Text
|index=7
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=radiobutton
|allowedValues=none,property,subobject
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
1660e2b8b447736804ebad7cf2ef1cd1bb97080e
Property:Topic documentation
102
70
361
110
2017-11-05T18:05:22Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:22Z
wikitext
text/x-wiki
{{Property
|name=documentation
|label=documentation
|documentation=The plaintext documentation of a Topic. Please do not use markup for this.
|type=Special:Types/Text
|index=5
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
ee51b0848c04ad45f51f5937c5f9c59045a401a5
Property:Topic name
102
71
362
201
2017-11-05T18:05:23Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:22Z
wikitext
text/x-wiki
{{Property
|name=name
|label=name
|documentation=The name of the topic
|type=Special:Types/Text
|index=1
|sortPos=
|primaryKey=true
|mandatory=true
|namespace=
|size=80
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
b634d7a02f74b3876b65d69578cc404b228afed0
Property:Topic listLimit
102
150
363
202
2017-11-05T18:05:23Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:23Z
wikitext
text/x-wiki
{{Property
|name=listLimit
|label=list Limit
|documentation=What is the default #ask list limit for this Topic?
|type=Special:Types/Number
|index=8
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=4
|uploadable=false
|defaultValue=200
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
b7422a20dbf94efe69f1b113dc17d397209ac83d
Property:Topic pluralName
102
72
364
112
2017-11-05T18:05:23Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:23Z
wikitext
text/x-wiki
{{Property
|name=pluralName
|label=pluralName
|documentation=The plural of a topic name. E.g. for the topic 'City' the pluralName is 'Cities'. If no pluralName is specified an 's' is appended. E.g. for the topic 'Book' the default pluralName is 'Books'
|type=Special:Types/Text
|index=2
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
d0a0f97b8f7ea3801a536296001c6abfdd1357d2
Property:Topic wikiDocumentation
102
73
365
113
2017-11-05T18:05:24Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:23Z
wikitext
text/x-wiki
{{Property
|name=wikiDocumentation
|label=wikiDocumentation
|documentation=Documentation of the Topic using MediaWiki / Semantic Mediawiki markup
|type=Special:Types/Text
|index=6
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
ab5c732059e2848f0f739e3c0ecc61969761fde2
Property:Topic icon
102
74
366
114
2017-11-05T18:05:24Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:24Z
wikitext
text/x-wiki
{{Property
|name=icon
|label=icon
|documentation=an Icon for the topic
|type=Special:Types/Page
|index=3
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=File
|size=55
|uploadable=true
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
c3dc2e7c498d3bb24ed2c88aa0fbea4a947f293d
Property:Topic iconUrl
102
75
367
115
2017-11-05T18:05:24Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:24Z
wikitext
text/x-wiki
{{Property
|name=iconUrl
|label=icon Url
|documentation=the url of an icon
|type=Special:Types/URL
|index=4
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=80
|uploadable=false
|defaultValue=
|inputType=text
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::URL]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
1e424491b2ed3588ba2f5fd1530c4f7ffa633bdb
Property:Topic context
102
76
368
116
2017-11-05T18:05:25Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:24Z
wikitext
text/x-wiki
{{Property
|name=context
|label=context
|documentation=
|type=Special:Types/Page
|index=
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=dropdown
|allowedValues=
|values_from=concept=Context
|showInGrid=
|isLink=true
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
62ca7e4017a722de8e5b68f3214f2053a115d593
Property:Context name
102
77
369
117
2017-11-05T18:05:25Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:25Z
wikitext
text/x-wiki
{{Property
|name=name
|label=name
|documentation=Name of the context
|type=Special:Types/Text
|index=1
|sortPos=1
|primaryKey=true
|mandatory=true
|namespace=
|size=80
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Context
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
46f1714ee50e441c6f2478b2acb9138d48fefeb1
Property:Context since
102
151
370
203
2017-11-05T18:05:25Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:25Z
wikitext
text/x-wiki
{{Property
|name=since
|label=since
|documentation=since when is this context available?
|type=Special:Types/Date
|index=2
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=datepicker
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Context
|storemode=property
}}
[[Has type::Date]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
2edc80c72a39dd841df2c154a104270e599297a7
Property:Context master
102
152
371
204
2017-11-05T18:05:26Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:25Z
wikitext
text/x-wiki
{{Property
|name=master
|label=master
|documentation=what is the original master source of this context
|type=Special:Types/URL
|index=3
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Context
|storemode=property
}}
[[Has type::URL]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
b9b7faa971210e485e444f160f8c03afc2012ffc
Property:TopicLink name
102
78
372
118
2017-11-05T18:05:26Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:26Z
wikitext
text/x-wiki
{{Property
|name=name
|label=name
|documentation=The name of the topic link
|type=Special:Types/Text
|index=1
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
bc559cec22e9aaca1c83d779c8c22d7e0eec2b61
Property:TopicLink source
102
79
373
119
2017-11-05T18:05:26Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:26Z
wikitext
text/x-wiki
{{Property
|name=source
|label=source
|documentation=the source of a topic Link
|type=Special:Types/Page
|index=2
|sortPos=
|primaryKey=false
|mandatory=true
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=dropdown
|allowedValues=
|values_from=concept=Topic
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
b173c8b15153de03ec5d5e2d30d578210f3d6381
Property:TopicLink sourceMultiple
102
80
374
120
2017-11-05T18:05:27Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:26Z
wikitext
text/x-wiki
{{Property
|name=sourceMultiple
|label=sourceMultiple
|documentation=
|type=Special:Types/Boolean
|index=4
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
4557b6777c333c592cd9183371182f778d2b5bd6
Property:TopicLink sourceRole
102
81
375
121
2017-11-05T18:05:27Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:27Z
wikitext
text/x-wiki
{{Property
|name=sourceRole
|label=sourceRole
|documentation=
|type=Special:Types/Text
|index=3
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
e9c6a99db06de18c04e0a8c2ec6e0719a2ff3796
Property:TopicLink sourceDocumentation
102
82
376
122
2017-11-05T18:05:27Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:27Z
wikitext
text/x-wiki
{{Property
|name=sourceDocumentation
|label=source Doc
|documentation=Documentation for the source Role
|type=Special:Types/Text
|index=5
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=300
|uploadable=false
|defaultValue=
|inputType=textarea
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
d9470b1a9a837b46291a8218f56af0fdf10857c6
Property:TopicLink target
102
83
377
123
2017-11-05T18:05:28Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:27Z
wikitext
text/x-wiki
{{Property
|name=target
|label=target
|documentation=
|type=Special:Types/Page
|index=6
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
2470779ec4cc7b8fd83785b0f1fcacc5e1c2518f
Property:TopicLink targetMultiple
102
84
378
124
2017-11-05T18:05:28Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:28Z
wikitext
text/x-wiki
{{Property
|name=targetMultiple
|label=sourceMultiple
|documentation=
|type=Special:Types/Boolean
|index=8
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
1414d12bf02bad970a1beaf3d8bcefd36cd65773
Property:TopicLink targetRole
102
85
379
125
2017-11-05T18:05:28Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:28Z
wikitext
text/x-wiki
{{Property
|name=targetRole
|label=targetRole
|documentation=
|type=Special:Types/Text
|index=7
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
a202c12ad61d89673f05720f5f9839803c54f00f
Property:TopicLink targetDocumentation
102
86
380
126
2017-11-05T18:05:29Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:28Z
wikitext
text/x-wiki
{{Property
|name=targetDocumentation
|label=target Doc
|documentation=Documentation for the target Role
|type=Special:Types/Text
|index=9
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=300
|uploadable=false
|defaultValue=
|inputType=textarea
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
73a6e2cc2f1dcacc7adaa4203a4e8be8d3d859d6
Property:TopicLink masterDetail
102
87
381
127
2017-11-05T18:05:29Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:29Z
wikitext
text/x-wiki
{{Property
|name=masterDetail
|label=masterDetail
|documentation=should the details be displayed in the same form and template?
If no
* for a 1:1 link there will be a linking attribute used and that can be selected.
* for a 1:n link a link to the list of neighbours will be displayed
if yes
* for a 1:1 link the details
* for a 1:n link
|type=Special:Types/Boolean
|index=10
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
ef86928356699f319db4a29dcc63b5f9fb2a4542
Property:SMW Type documentation
102
88
382
128
2017-11-05T18:05:29Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:29Z
wikitext
text/x-wiki
{{Property
|name=documentation
|label=documentation
|documentation=The documentation of this Semantic Media Wiki type
|type=Special:Types/Text
|index=2
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
79415c97299e87d5da7213a0c59bf436069c7f35
Property:SMW Type helppage
102
89
383
129
2017-11-05T18:05:30Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:29Z
wikitext
text/x-wiki
{{Property
|name=helppage
|label=helppage
|documentation=The url of the 'official' documentation page of this type
|type=Special:Types/URL
|index=4
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::URL]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
bdebdafd6edd8a25fb82a50995e429e763d18365
Property:SMW Type type
102
90
384
130
2017-11-05T18:05:30Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:30Z
wikitext
text/x-wiki
{{Property
|name=type
|label=type
|documentation=The Semantic MediaWiki type without the prefix e.g. Text, Number, Boolean
|type=Special:Types/Text
|index=1
|sortPos=
|primaryKey=true
|mandatory=true
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
cf090fef3336ea7ab7b926457937cd64a6accbaf
Property:SMW Type typepage
102
91
385
131
2017-11-05T18:05:30Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:30Z
wikitext
text/x-wiki
{{Property
|name=typepage
|label=typepage
|documentation=The Semantic Media Wiki Special page for this specific type e.g. Special:Types/Text, Special:Types/Boolean, Special:Types/Date, Special:Types/Number, Special:Types/Page
|type=Special:Types/Page
|index=5
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
4e53c4c1f8f499ac468bf1cc94961c4100667a6e
Property:SMW Type javaType
102
92
386
132
2017-11-05T18:05:31Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:30Z
wikitext
text/x-wiki
{{Property
|name=javaType
|label=java Type
|documentation=Java mapping of this type
|type=Special:Types/Text
|index=6
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
543cb058aabd714883e1fa9ee5544df7f79b25c0
Template:!
10
153
387
304
2017-11-05T18:05:31Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:31Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:WikiSlide
|next=Template:Bigstock
}}
This is the "!" template. Allows to have a | in a template by using <pre>{{¡}}</pre>
</noinclude><includeonly>|</includeonly>
34f1799e58242a45199cd85865d67a10ee478399
Template:Done
10
94
388
208
2017-11-05T18:05:32Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:32Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:ContextWikitask
|next=Template:ExternalImage
}}
This is the Template ''Done''
=== usage ===
<pre>{{Done}}</pre>
{{Done}}
<pre>{{Done|size=12}}</pre>
{{Done|size=12}}
<pre>{{Done|size=36}}</pre>
{{Done|size=36}}
<pre>{{Done|size=48}}</pre>
{{Done|size=48}}
[[Category:Template]]
</noinclude><includeonly><span style='color:green;font-size:{{{size|24}}}px'>✓</span></includeonly>
9d8378292f3f3a221a647ea0e6e55dc99266af15
Template:Language
10
155
389
211
2017-11-05T18:05:34Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:34Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:IconLink
|next=Template:Languagelink
}}
From http://semantic-mediawiki.org/wiki/Template:Language
This template is used for stating the language for some content page.
Usage: <pre>{{language|master page=Page title|language=en}}</pre>
The parameters have the following meaning:
* <tt>master page</tt>: the «main» page about that topic, usually the article with the English documentation for the most current version
* <tt>language</tt>: a standard [[Property:language code|language code]]
</noinclude><includeonly>
{{#ifeq:{{#ask: [[master page::{{{master page}}}]] [[language code::!{{{language}}}]]|format=count}}|0||<div style="text-align: center; background: #F7F7F7; border: 4px solid #B0BFE8; padding: 0.25em; ">
{{#switch:{{{language}}}|
de = Diese Seite in anderen Sprachen: |
fr = Cette page dans d'autres langues : |
ja = 他の言語でのこのページ: |
nl = Deze pagina in andere talen: |
ru = Эта страница на других языках: |
zh-hans = 本页面的其他语种: |
uk = Ця сторінка на інших мовах: |
This page in other languages:}}
{{#ask: [[master page::{{{master page}}}]] [[language code::!{{{language}}}]]|
?language code =|
link=none|
format=list|
sep=, |
template=languagelink|
sort = language code|
order = asc|
limit = 10|
searchlabel = […]
}}
</div>}}
<div style="display: none; read: none;">
[[master page::{{{master page}}}]] [[language code::{{{language}}}]]
</div>
</includeonly>
57c802786288973430f0368c7f124ad2d839ac1a
Template:Link
10
19
390
212
2017-11-05T18:05:35Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:34Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:Languagelink
|next=Template:PageSequence
}}
== template purpose ==
This is a Template for internal and external Links in WikiSon notation.
=== Motivation ===
In Mediawiki there are at least five different ways to use a link - we'd like to hide this complexity and add new functionality:
# <pre>[[Main Page]]</pre>[[Main Page]] - internal link with no text
# <pre>[[Main Page|Start Page]]</pre>[[Main Page|Start Page]] - internal link with text
# <pre>[http://partner.bitplan.com] </pre>[http://partner.bitplan.com] - external link as footnote
# <pre>[http://partner.bitplan.com BITPlan partner site] </pre>[http://partner.bitplan.com BITPlan partner site] - external link with text
# <pre>http://partner.bitplan.com </pre>http://partner.bitplan.com - automatic external link
== WikiSon Link ==
=== Motivation ===
The Concept behind a link is
<uml>
Class Link {
target
title
}
' BITPlan Corporate identity skin params
' Copyright (c) 2015 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
hide Circle
skinparam note{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam package{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam usecase{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam activity{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam classAttribute{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Arial
}
skinparam class{
BackGroundColor #FFFFFF
FontSize 14
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
</uml>
This calls for the WikiSon notation
<pre>
{{Link
|target=sometarget
|title=sometitle
}}
</pre>
=== Link as WikiSon ===
Using the WikiSon Concept approach the Link Concept is represented via
the Wiki [[:Category:Link]]<br>
Especially there is a [[List of Links]] page available.
Properties set:
* {{Link|target=Property:Link targetUrl}}
=== Examples ===
<pre>
{{Link}}
</pre>
internal default link to Main Page
{{Link}}
<pre>
{{Link|target=Main Page}}
</pre>
internal link to Main Page
{{Link|target=Main Page}}
<pre>
{{Link|target=Main Page|title=Main Page}}
</pre>
internal link to Main Page with title
{{Link|target=Main Page|title=Main Page}}
<pre>
{{Link|target=http://partner.bitplan.com}}
</pre>
external link
{{Link|target=http://partner.bitplan.com}}
<pre>
{{Link|target=http://partner.bitplan.com|title=BITPlan Partner wiki}}
</pre>
external link with title
{{Link|target=http://partner.bitplan.com|title=BITPlan Partner wiki}}
=== implementation ===
==== Prerequisite ====
LocalSettings.php needs to have the StringFunctions enabled:
<source lang='php'>
# WF 2015-01-20
# allow string functions
$wgPFEnableStringFunctions=true;
</source>
==== Template source ====
The complexity of this template macro needs to be hidden
===== original Link Template =====
<pre>
{{#set:Link target={{{target|}}}
|Link title={{{title|}}}
}}{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http | {{#set:Link targetUrl={{{target|}}}}}{{#if: {{{title|}}}
| [{{{target|http://www.smartMediaWiki.com}}} {{{title}}}]
| [{{{target|http://www.smartMediaWiki.com}}}]
}}| {{#set:Link targetPage={{{target|}}}}}{{#if: {{{title|}}}
| [[{{{target|Main Page}}}|{{{title}}}]]
| [[{{{target|Main Page}}}]]
}}}}[[Category:Link]]
</pre>
===== pretty printed Template macro =====
this version would unfortunately create unwanted newlines in the macro result
<source lang='html4strict'>
<!-- set concept attributes target (mandatory) and title (optional) -->
{{#set:Link target={{{target|}}}
|Link title={{{title|}}}
}}
<!-- check whether link is external or internal by comparing the firsts 4 chars with "http" -->
{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http
| <!-- in the http case (external link) set the targetURL property - it has the type "URL" and not "Text" like target or "Page" like targetPage -->
{{#set:Link targetUrl={{{target|}}}}}
<!-- display external link with our without title -->
{{#if: {{{title|}}}
| [{{{target|http://www.smartMediaWiki.com}}} {{{title}}}]
| [{{{target|http://www.smartMediaWiki.com}}}]
}}
| <!-- in the non-http case (internal link) set the targetPage property - it has the type "Page" and not "Text" like target or "Url" like targetUrl -->
{{#set:Link targetPage={{{target|}}}}}
<!-- display internal link with our without title -->
{{#if: {{{title|}}}
| [[{{{target|Main Page}}}|{{{title}}}]]
| [[{{{target|Main Page}}}]]
}}
}}
<!-- set the Category so that any page using this is displayed in this category -->
[[Category:Link]]
</source>
==== How the Link Macro works ====
The Link Macro checks whether the link is external or internal and displays the correct version. It sets the Link Concept's attributes by setting the correspond Semantic Media Wiki properties.
it uses the following helper funcitons:
* Substring: https://www.mediawiki.org/wiki/Extension:StringFunctions/en#.23sub:
* #ifeq: https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions/en#.23ifeq
* #if: https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions/en#.23if
* #set: https://semantic-mediawiki.org/wiki/Help:Setting_values
===== Substring =====
<pre>
{{#sub:string|start|length}}
The start parameter, if positive (or zero), specifies a zero-based index of the first character to be returned.
Example: {{#sub:Icecream|3}} returns cream.
{{#sub:Icecream|0|3}} returns Ice.
</pre>
===== if exists and non empty =====
<pre>
{{#if: test string | value if test string is not empty | value if test string is empty (or only white space) }}
</pre>
===== if equals =====
<pre>
{{#ifeq: string 1 | string 2 | value if identical | value if different }}
</pre>
===== setting Semantic values =====
<pre>
{{#set:Has population=2,234,105
|Located in country=France
|Has mayor=Bertrand Delanoë
}}
</pre>
=== Properties set ===
# {{Link|target=Property:Link_target}}
# {{Link|target=Property:Link_targetPage}}
# {{Link|target=Property:Link_targetUrl}}
# {{Link|target=Property:Link_title}}
[[Categorie:Link]]
[[Category:Template]]</noinclude><includeonly>{{#set:Link target={{{target|}}}
|Link title={{{title|}}}
}}{{#ifeq:
{{#sub:{{{target|}}}|0|4}}
| http | {{#set:Link targetUrl={{{target|}}}}}{{#if: {{{title|}}}
| [{{{target|http://www.smartMediaWiki.com}}} {{{title}}}]
| [{{{target|http://www.smartMediaWiki.com}}}]
}}| {{#set:Link targetPage={{{target|}}}}}{{#if: {{{title|}}}
| [[{{{target|Main Page}}}|{{{title}}}]]
| [[{{{target|Main Page}}}]]
}}}}</includeonly>
5277c12673ba43d45b0cef591c794addfb1dae6a
Template:PageSequence
10
103
391
213
2017-11-05T18:05:37Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:37Z
wikitext
text/x-wiki
<noinclude>__NOCACHE__<!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:PageBreak
|next=Template:PdfBook
}}
This is the PageSequence template it allows for prev/next style page sequences to displayed with icons. See [[Template:Icon]]
<pre>
{{PageSequence
|prev=
|next=
|category=
|categoryIcon=
}}
</pre>
=== example ===
<pre>
{{PageSequence|prev=|next=bash|category=tools|categoryIcon=linux}}
</pre>
{{PageSequence|prev=|next=bash|category=tools|categoryIcon=linux}}
<pre>
{{PageSequence
|prev=Template:Icon
|next=Template:Link
|category=Template
|categoryIcon=file-text-o
}}
</pre>
{{PageSequence
|prev=Template:Icon
|next=Template:Link
|category=Template
|categoryIcon=file-text-o
}}
</noinclude><includeonly>{{#set:
|PageSequence next={{{next|}}}
|PageSequence prev={{{prev|}}}
|PageSequence category={{{category|}}}
|PageSequence categoryIcon={{{categoryIcon|}}}
}}
<div style="display:table;border-collapse: collapse;"><div style="display: table-row;">
<div style="display: table-cell; vertical-align: middle">{{#if: {{{prev|}}}|
{{#ifexist: {{{prev}}}
|<imgLink img='{{Icon|name=nav_left_blue|title=previous}}'>{{{prev|}}}</imgLink>
|<imgLink img='{{Icon|name=nav_left_red|title=previous}}'>{{{prev|}}}</imgLink>}}
}}
</div>
{{#if: {{{category|}}} |
<div style="display: table-cell;">
<div style="display: table-row;">{{#if: {{{categoryIcon|}}}
|<imgLink img='{{Icon|name={{{categoryIcon|}}}|title={{{category|}}}}}'>:Category:{{{category|}}}</imgLink>
}}
</div>
<div style="display: table-row;">{{Icon|name=edit|size=16}}{{Link|target=Special:FormEdit/PageSequence/{{FULLPAGENAME}}|title=edit}}</div>
</div>}}
<div style="display: table-cell; vertical-align: middle">{{#if: {{{next|}}}
|{{#ifexist: {{{next}}}
|<imgLink img='{{Icon|name=nav_right_blue|title=next}}'>{{{next|}}}</imgLink>
|<imgLink img='{{Icon|name=nav_right_red|title=next}}'>{{{next|}}}</imgLink>
}}
}}
</div>
</div></div>{{#if: {{{category|}}}
|{{Category|name={{{category|}}}}}
}}</includeonly>
ba49ba7f8e88ba84f317eb2dd7a85bb5522978b9
Template:PdfBook
10
156
392
214
2017-11-05T18:05:37Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:37Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:Link
|next=Template:PPTSlide
}}
This is the "PdfBook" template. It creates a PDF File from a set of pages of a category. If the category page should be included it needs to be part of the category - reference itself.
=== Example ===
<pre>
{{PdfBook}}
</pre>
{{PdfBook}}
[[Category:Template]]
</noinclude>
<includeonly>[[Image:15x18-fileicon-pdf.png]][{{fullurl:{{FULLPAGENAMEE}}|action=pdfbook}} Create a PDF Book of this category]</includeonly>
b3c8d8b98c6b8f332fd39340b90443caf6038d25
Template:Sidif
10
95
393
215
2017-11-05T18:05:38Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:37Z
wikitext
text/x-wiki
<noinclude>{{TemplateSequence
|prev=Template:ProfiWiki
|next=Template:SlideSequence
}}
This is the Template <nowiki>sidif</nowiki>.
It displays a link to the {{sidif}} website.
=== Usage ===
<pre>
{{sidif}}
</pre>
==== result ====
{{sidif}}
=== templates used ===
[[Template:Link]]
[[Category:Template]]
</noinclude><includeonly>{{Link|target=http://www.sidif.org|title='''Si'''mple '''D'''ata '''I'''nterchange '''F'''ormat (SiDIF)}}</includeonly>
6c742c0a7f5fbf7df9599ac4d6c49daf690ffe29
Template:TemplateSequence
10
157
394
216
2017-11-05T18:05:38Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:38Z
wikitext
text/x-wiki
<noinclude>{{TemplateSequence|prev=Template:Sidif|next=Template:TopicWikitasks}}
This is the TemplateSequence template. It extends the {{Link|target=Template:PageSequence}} template.
== example ==
<pre>
{{TemplateSequence|prev=Template:Sidif|next=Template:TopicWikitasks}}
</pre>
{{TemplateSequence|prev=Template:Sidif|next=Template:TopicWikitasks}}
</noinclude><includeonly>{{PageSequence
|prev={{{prev|}}}
|next={{{next|}}}
|category=Template
|categoryIcon=file-text-o
}}</includeonly>
54406dd9343df848b51b411a5ee03d27922bc31f
Template:WikiIconTask
10
99
395
220
2017-11-05T18:05:41Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:41Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:Wikitask
|next=Template:WikiSlide
}}
see [[Template:Wikitask]]
<br> calls RESTFul Java WikiTask service on {{SERVERNAME}}
=== Examples===
<pre>
{{WikiIconTask|cmd=help|icon=question-circle}}
</pre>
{{WikiIconTask|cmd=help|icon=question-circle}}
<pre>
{{WikiIconTask|cmd=debug|icon=wrench}}
</pre>
{{WikiIconTask|cmd=debug|icon=wrench}}
<pre>
{{WikiIconTask|cmd=reset|icon=refresh}}
</pre>
{{WikiIconTask|cmd=reset|icon=refresh}}
=== Source ===
<source lang='php'>
<imgLink
img='{{Icon|name={{{icon|}}}|title={{{cmd|}}}}}'
target='_blank'
title='{{{cmd|}}}'
href='http://{{SERVERNAME}}:9089/wikiserver/task/{{{cmd|version}}}
?server={{urlencode:{{#sub:{{canonicalurl:{{PAGENAME}}}}|0|{{#pos:{{canonicalurl:{{PAGENAME}}}}|{{SCRIPTPATH}}/index.php/{{PAGENAMEE}}|0}}}}}}
&scriptpath={{urlencode:{{SCRIPTPATH}}}}
&contentlanguage={{CONTENTLANGUAGE}}
&page={{FULLPAGENAMEE}}
&input={{urlencode:{{{input|}}}}}
¶ms={{urlencode:{{{params|}}}}}
&template={{urlencode:{{{template|}}}}}
&dialog={{urlencode:{{{dialog|}}}}}
&engine={{{engine|}}}
&targetpage={{urlencode:{{{targetpage|}}}}}
&logo={{urlencode:{{{logo|http://web.bitplan.com/wp-content/uploads/sites/2/2013/05/mw_joomla_logo1.png}}}}}'
>
</imgLink>
</source>
=== siteurl ===
{|
!siteurl
|{{#sub:{{canonicalurl:{{PAGENAME}}}}|0|{{#pos:{{canonicalurl:{{PAGENAME}}}}|{{SCRIPTPATH}}/index.php/{{PAGENAMEE}}|0}}}}
|-
!canonicalurl
|{{canonicalurl:{{PAGENAME}}}}
|-
!PAGENAME
|{{PAGENAME}}
|-
!SERVERNAME
|{{SERVERNAME}}
|-
!SCRIPTPATH
|{{SCRIPTPATH}}
|-
|}
</noinclude><includeonly><imgLink img='{{Icon|name={{{icon|}}}|title={{{cmd|}}}}}' target='_blank' title='{{{cmd|}}}' href='http://{{SERVERNAME}}:9089/wikiserver/task/{{{cmd|version}}}?server={{urlencode:{{#sub:{{canonicalurl:{{PAGENAME}}}}|0|{{#pos:{{canonicalurl:{{PAGENAME}}}}|{{SCRIPTPATH}}/index.php/{{PAGENAMEE}}|0}}}}}}&scriptpath={{urlencode:{{SCRIPTPATH}}}}&contentlanguage={{CONTENTLANGUAGE}}&page={{FULLPAGENAMEE}}&input={{urlencode:{{{input|}}}}}¶ms={{urlencode:{{{params|}}}}}&template={{urlencode:{{{template|}}}}}&dialog={{urlencode:{{{dialog|}}}}}&engine={{{engine|}}}&targetpage={{urlencode:{{{targetpage|}}}}}&logo={{{logo|}}}'></imgLink></includeonly>
44dfc3cb1717b491e1815831eb7de209cc44cb3d
File:Index.png
6
161
396
305
2017-11-05T18:05:43Z
Wf
1
Wf uploaded a new version of [[File:Index.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Link.png
6
162
397
306
2017-11-05T18:05:44Z
Wf
1
Wf uploaded a new version of [[File:Link.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Element into input.png
6
163
398
307
2017-11-05T18:05:44Z
Wf
1
Wf uploaded a new version of [[File:Element into input.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Component.png
6
164
399
308
2017-11-05T18:05:45Z
Wf
1
Wf uploaded a new version of [[File:Component.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Registry.png
6
165
400
309
2017-11-05T18:05:45Z
Wf
1
Wf uploaded a new version of [[File:Registry.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Category Icon.png
6
166
401
310
2017-11-05T18:05:46Z
Wf
1
Wf uploaded a new version of [[File:Category Icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Concept Icon.png
6
167
402
311
2017-11-05T18:05:46Z
Wf
1
Wf uploaded a new version of [[File:Concept Icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Help Icon.png
6
168
403
312
2017-11-05T18:05:47Z
Wf
1
Wf uploaded a new version of [[File:Help Icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:List Icon.png
6
169
404
313
2017-11-05T18:05:47Z
Wf
1
Wf uploaded a new version of [[File:List Icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Icon template.png
6
170
405
314
2017-11-05T18:05:48Z
Wf
1
Wf uploaded a new version of [[File:Icon template.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Form icon.jpg
6
171
406
315
2017-11-05T18:05:48Z
Wf
1
Wf uploaded a new version of [[File:Form icon.jpg]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Java icon.png
6
172
407
316
2017-11-05T18:05:49Z
Wf
1
Wf uploaded a new version of [[File:Java icon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Concept:Context
108
35
408
235
2017-11-05T18:05:50Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:49Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=Context
|pluralName=Contexts
|icon=File:Registry.png
|iconUrl=/images/d/d2/Registry.png
|documentation=A Context groups some topics like a Namespace/Package
|wikiDocumentation=A Context groups some topics like a Namespace/Package
|defaultstoremode=property
|listLimit=
|cargo=
|context=MetaModel
|storemode=property
}}
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
A Context groups some topics like a Namespace/Package
=== uml ===
<uml>
title Context
note as ContextDiagramNote
Copyright (c) 2015-2016 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as ContextNote
A Context groups some topics like a Namespace/Package
end note
class Context {
Text name
Date since
URL master
}
ContextNote .. Context
Context "context (1)" -- "topics(*)" Topic
' BITPlan Corporate identity skin params
' Copyright (c) 2015-2016 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[Context name::+]]
|Contexts
see also
* [[List of Contexts]]
* [[Help:Context]]
* [[Concept:Context]]
* [[:Category:Context]]
* [[:Template:Context]]
* [[:Form:Context]]
topic links:
* [[:Category:Topic]]
}}
[[Category:Context]]
4572aa3b8d7eb79acbc6cd9894a669c89f336f71
Concept:Topic
108
36
409
236
2017-11-05T18:05:52Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:50Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=Topic
|pluralName=Topics
|icon=File:Index.png
|iconUrl=/images/a/ae/Index.png
|documentation=A Topic is a Concept/Class/Thing/Entity
|wikiDocumentation=A Topic is a Concept/Class/Thing/Entity
|defaultstoremode=property
|listLimit=
|cargo=false
|context=MetaModel
|storemode=property
}}
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
A Topic is a Concept/Class/Thing/Entity
=== uml ===
<uml>
title Topic
note as TopicDiagramNote
Copyright (c) 2015-2016 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as TopicNote
A Topic is a Concept/Class/Thing/Entity
end note
class Topic {
Text name
Text pluralName
Page icon
URL iconUrl
Text documentation
Text wikiDocumentation
Text defaultstoremode
Number listLimit
Boolean cargo
Boolean headerTabs
Page context
}
TopicNote .. Topic
Topic "topic (1)" -- "properties(*)" Property
Context "context (1)" -- "topics(*)" Topic
' BITPlan Corporate identity skin params
' Copyright (c) 2015-2016 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[Topic name::+]]
|Topics
see also
* [[List of Topics]]
* [[Help:Topic]]
* [[Concept:Topic]]
* [[:Category:Topic]]
* [[:Template:Topic]]
* [[:Form:Topic]]
topic links:
* [[:Category:Property]]
}}
[[Category:Topic]]
a4f89782dcb0ff3e2704c712a4ad0f24468ddab0
Concept:TopicLink
108
37
410
237
2017-11-05T18:05:53Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:52Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=TopicLink
|pluralName=TopicLinks
|icon=File:Link.png
|iconUrl=/images/f/fd/Link.png
|documentation=A TopicLink links two Concepts
|wikiDocumentation=A TopicLink links two [[Concept:Topic]]s
|defaultstoremode=subobject
|listLimit=
|cargo=
|context=MetaModel
|storemode=property
}}
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
A TopicLink links two [[Concept:Topic]]s
=== uml ===
<uml>
title TopicLink
note as TopicLinkDiagramNote
Copyright (c) 2015-2016 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as TopicLinkNote
A TopicLink links two Concepts
end note
class TopicLink {
Text name
Page source
Text sourceRole
Boolean sourceMultiple
Text sourceDocumentation
Page target
Text targetRole
Boolean targetMultiple
Text targetDocumentation
Boolean masterDetail
}
TopicLinkNote .. TopicLink
' BITPlan Corporate identity skin params
' Copyright (c) 2015-2016 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[TopicLink source::+]]
|TopicLinks
see also
* [[List of TopicLinks]]
* [[Help:TopicLink]]
* [[Concept:TopicLink]]
* [[:Category:TopicLink]]
* [[:Template:TopicLink]]
* [[:Form:TopicLink]]
topic links:
}}
[[Category:TopicLink]]
b892d28e0db4547e35254b6cafa53c84ccd77b99
Concept:Property
108
38
411
238
2017-11-05T18:05:55Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:53Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=Property
|pluralName=Properties
|icon=File:Element_into_input.png
|iconUrl=/images/6/6a/Element_into_input.png
|documentation=a Property is a Feature/Attribute of a Topic
|wikiDocumentation=see
* https://semantic-mediawiki.org/wiki/Help:Properties_and_types
* https://semantic-mediawiki.org/wiki/Help:Special_properties
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
|defaultstoremode=property
|listLimit=
|cargo=
|context=MetaModel
|storemode=property
}}
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
see
* https://semantic-mediawiki.org/wiki/Help:Properties_and_types
* https://semantic-mediawiki.org/wiki/Help:Special_properties
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
=== uml ===
<uml>
title Property
note as PropertyDiagramNote
Copyright (c) 2015-2016 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as PropertyNote
a Property is a Feature/Attribute of a Topic
end note
class Property {
Text name
Text label
Page type
Number index
Number sortPos
Boolean primaryKey
Boolean mandatory
Text namespace
Number size
Boolean uploadable
Code defaultValue
Text inputType
Text allowedValues
Text documentation
Code values_from
Boolean showInGrid
Boolean isLink
Boolean nullable
Page topic
}
PropertyNote .. Property
Property "usedByProperties (*)" -- "smw_type(1)" SMW_Type
Topic "topic (1)" -- "properties(*)" Property
' BITPlan Corporate identity skin params
' Copyright (c) 2015-2016 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[Property name::+]]
|Properties
see also
* [[List of Properties]]
* [[Help:Property]]
* [[Concept:Property]]
* [[:Category:Property]]
* [[:Template:Property]]
* [[:Form:Property]]
topic links:
* [[:Category:SMW_Type]]
}}
[[Category:Property]]
a470ccc15c92f0bdb06ae4b7cd7e676c5b1a002e
Concept:SMW Type
108
39
412
239
2017-11-05T18:05:56Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:55Z
wikitext
text/x-wiki
__NOCACHE__
{{Topic
|name=SMW_Type
|pluralName=SMW_Types
|icon=File:Component.png
|iconUrl=/images/4/40/Component.png
|documentation=an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/false values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
|wikiDocumentation=see
* https://semantic-mediawiki.org/wiki/Special:Types
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
|defaultstoremode=subobject
|listLimit=
|cargo=
|context=MetaModel
|storemode=property
}}
{{Topic
|viewmode=masterdetail
|storemode=none
}}
{{#forminput:form=Property|button text=add Property}}
=== Documentation ===
see
* https://semantic-mediawiki.org/wiki/Special:Types
* https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
=== uml ===
<uml>
title SMW_Type
note as SMW_TypeDiagramNote
Copyright (c) 2015-2016 BITPlan GmbH
[[http://www.bitplan.com]]
end note
note as SMW_TypeNote
an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/false values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
end note
class SMW_Type {
Text type
Text documentation
Text id
URL helppage
Page typepage
Text javaType
Page usedByProperties
}
SMW_TypeNote .. SMW_Type
Property "usedByProperties (*)" -- "smw_type(1)" SMW_Type
' BITPlan Corporate identity skin params
' Copyright (c) 2015-2017 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam component {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam package {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam usecase {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam activity {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam classAttribute {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam interface {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam class {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
skinparam object {
BackGroundColor #FFFFFF
FontSize 12
ArrowColor #FF8000
BorderColor #FF8000
FontColor black
FontName Technical
}
hide Circle
' end of skinparams '
</uml>
{{#concept:
[[SMW_Type type::+]]
|SMW_Types
see also
* [[List of SMW_Types]]
* [[Help:SMW_Type]]
* [[Concept:SMW_Type]]
* [[:Category:SMW_Type]]
* [[:Template:SMW_Type]]
* [[:Form:SMW_Type]]
topic links:
}}
[[Category:SMW_Type]]
ac870a56d9005b22b826c9befb8e10437dbc0c6e
File:BITPlanLogo2012.svg
6
2
413
317
2017-11-05T18:05:57Z
Wf
1
Wf uploaded a new version of [[File:BITPlanLogo2012.svg]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
TopicGenerator
0
40
414
241
2017-11-05T18:05:57Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:05:57Z
wikitext
text/x-wiki
__TOC__
=== dialog ===
<source lang='java' id='dialog' cache='false'>
@// Copyright (c) 2016 BITPlan GmbH
@//
@// This is a Wikitask / Rythm template that
@// displays an AJAX GUI for generating SmartMediaWiki results
@//
@import org.sidif.wiki.Reference
@import org.sidif.wiki.ReferenceManager
@import org.sidif.wiki.Source
@import org.sidif.wiki.PageCache
@import org.sidif.wiki.WikiTask
@import com.bitplan.mediawiki.japi.api.Page
@import com.bitplan.mediawiki.japi.api.Rev
@include(wiki.SiDIFTemplates.defs)
@include(wiki.SiDIFTemplates.dialogdefs)
@// get a link for the given pagetitle
@def String getLink(String pageTitle, int revid) {
String link=wikiTask.getServer()+wikiTask.getScriptpath()+"/index.php?title="+urlEncode(pageTitle);
if (revid>0) {
link+="&oldid="+revid;
}
return link;
}
@// get the parameters for the wikitask
@def String getWikiTaskParams(String engine) {
String params="?server="+urlEncode(wikiTask.getServer());
params+="&scriptpath="+urlEncode(wikiTask.getScriptpath());
params+="&page="+urlEncode(wikiTask.getPageTitle());
params+="&engine="+engine;
return params;
}
@// run the given wikitask command
@def doWikiTaskCmd(String cmd, String param) {
@{
String icon="component";
String engine="Freemarker";
if ("runtemplate".equals(cmd)){ icon="media_play_green.png"; }
if ("reset".equals(cmd)) { icon="refresh"; }
if ("help".equals(cmd)) { icon="help"; }
if ("debug".equals(cmd)) { icon="wrench"; }
if ("refreshRef".equals(cmd)) { icon="refresh"; }
String params=getWikiTaskParams(engine);
}
<a href='@(cmd)@(params)'>@(stockicon(icon,48,cmd,cmd))</a>
}
@// run the given wikitask command
@def wikiTaskCmd(String cmd) {
@doWikiTaskCmd(cmd,null)
}
@// run the given wikitask command with a parameter
@def wikiTaskCmd(String cmd, String param) {
@doWikiTaskCmd(cmd,param)
}
@// add styles for the generator
@def generatorStyle(String i_____) {
@(i_____) <style type="text/css">
@(i_____) // progress text that comes with progress bars
@(i_____) // see http://stackoverflow.com/questions/12452594/how-can-i-add-label-inside-a-progress-bar-tag
@(i_____) span.progresstext {
@(i_____) font-family:'Arial';
@(i_____) position:relative;
@(i_____) top:-1.5em;
@(i_____) margin-left:50%;;
@(i_____) font-size:small;
@(i_____) }
@(i_____) </style>
}
@// scripts for generators
@def generatorScript() {
<script>
// JavaScript support for Y-Principle TopicGenerator
// convert a string to make the first char lower case
function firstToLower(string) {
return string.charAt(0).toLowerCase() + string.slice(1);
}
// get the div where responses are shown
function getResponseDiv() {
var result=document.getElementById("response");
return result;
}
// get the div where errors are shown
function getErrorDiv() {
var result=document.getElementById("errorMessage");
return result;
}
// get the checkBox jquery object with the given id
function getGeneratorElement(generatorId,postfix) {
var result=$("#"+generatorId+postfix);
return result;
}
// clear the given div
function clearDiv(div) {
div.innerHTML='';
}
// add a TextElement with the given tag and message to the given parent
function newTextElement(tag,msg) {
var newElement=document.createElement(tag);
var content = document.createTextNode(msg);
newElement.appendChild(content);
return newElement;
}
// add a message to the given div
function addMessage(div, msg) {
var newElement=newTextElement('pre',msg);
div.appendChild(newElement);
return newElement;
}
// progress on transfers from the server to the client (downloads)
// see https://developer.mozilla.org/de/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
function updateProgress (oEvent) {
if (oEvent.lengthComputable) {
var percentComplete = oEvent.loaded / oEvent.total;
// ...
} else {
// Unable to compute progress information since the total size is unknown
}
}
// show an error Message
// param errMsg: the message to show
function errorMessage(errMsg) {
var errDiv=getErrorDiv();
if (errDiv!=null) {
addMessage(errDiv,errMsg);
errDiv.style.display = 'block';
} else {
alert(errMsg);
}
}
// flag an error for the given id
function flagError(id,msg) {
setProgress(id,0,"");
var checkBox=getGeneratorElement(id,"");
var progresstext=getGeneratorElement(id,"_progress_pc");
var errorSpan=newTextElement('span','⚠ '+msg);
errorSpan.style='color:red;font-size:14px';
progresstext[0].appendChild(errorSpan);
return checkBox;
}
// handle an error that has been thrown
function handleError(err,id) {
flagError(id,err.message);
// abusing checkBox as data lookup
var checkBox=getGeneratorElement(id,"");
var errMessage=checkBox[0].name+" ERROR:"+err.code+" "+err.name+" '"+err.message+"' line:"+err.lineNumber;
errorMessage(errMessage);
}
// get the class name of the given object
function getClass(obj) {
if (typeof obj === "undefined")
return "undefined";
if (obj === null)
return "null";
return Object.prototype.toString.call(obj)
.match(/^\[object\s(.*)\]$/)[1];
}
// send the given form
function sendForm(formData,action,id) {
try {
var oReq = new XMLHttpRequest();
oReq.addEventListener('progress', updateProgress, false);
oReq.addEventListener('load', transferComplete, false);
oReq.addEventListener('error', transferFailed, false);
oReq.addEventListener('abort', transferCanceled, false);
oReq.onload = ajaxSuccess;
// http://stackoverflow.com/questions/921198/get-request-url-from-xhr-object
var xhrProto = XMLHttpRequest.prototype,
origOpen = xhrProto.open;
xhrProto.open = function (method, url, async) {
this._url = url;
this._id = id;
return origOpen.apply(this,arguments);
};
var async=true;
oReq.open('POST', action, async,id);
// important - this makes the request a non-simple request with CORS
// oReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// user defined header forces CORS?
oReq.setRequestHeader('Header-Custom-WikitaskCORS', 'OK');
oReq.setRequestHeader('Accept','application/json');
oReq.send(formData);
} catch(err) {
handleError(err,id);
}
return false; // Prevent direct form page button submit action
}
// set the progress for the given check box id
// and return the progress bar
function setProgress(checkBoxId,progress,percent) {
var checkBox=getGeneratorElement(checkBoxId,"");
var progressbar=getGeneratorElement(checkBoxId,"_progress");
var progresstext=getGeneratorElement(checkBoxId,"_progress_pc");
// console.log(progressbar);
// FIXME - do a true progress
// progressbar.val(progress);
if (progress==0) {
progressbar[0].style.display = 'none';
} else {
progressbar[0].style.display = 'block';
}
progresstext[0].textContent=percent;
return progressbar;
}
// start the generator for the given form, contextSetting, contextname, template and targetpage
function startGenerator(form,contextSettingTxt,contextname,topic,template,targetpage,id) {
var formData = new FormData(form);
formData.append('server', "@(wikiTask.getServer())");
formData.append('scriptpath', "/@(wikiTask.getScriptpath())");
formData.append('engine', 'Rythm');
formData.append('input', 'sidif');
formData.append('page','Topic');
var action=form.action;
// action=
// action="http://phobos.bitplan.com:9089/wikiserver/task/runtemplate";
formData.append('template',template);
formData.append('targetpage',targetpage);
formData.append('id',id);
// set the params from the contextSettings
// e.g. wikiId:capri,sidifInput:Topic#sidif,contextName:MetaModel,maintopicName:Topic
var contextSetting=JSON.parse(contextSettingTxt);
contextSetting.maintopicName=topic;
var contextSettingJson=JSON.stringify(contextSetting)
formData.append('params',contextSettingJson);
sendForm(formData,action,id);
}
// start the generators for the given form
function startGenerators(form) {
clearDiv(getErrorDiv());
clearDiv(getResponseDiv());
var generatorchecks= $(".checkBoxClass:checked");
generatorchecks.each(function(){
setProgress(this.id,1,"");
// targetPage is the name of the checkbox
var template=this.value;
var ytname=$(this).attr("yt")
var target=$(this).attr("target");
var contextname=$(this).attr("context");
var contextSetting=$(this).attr("contextsetting");
var id=this.id;
// split e.g. Template_Context;
var split = id.split('__');
// FIXME use yt and topic and generator objects instead
var topic=split[1];
startGenerator(form,contextSetting,contextname,topic,template,target,id);
});
return false;
}
// get SiDIF
function getSiDIF(lbutton) {
// {{wikitask
// |cmd=runtemplate
// |engine=Rythm
// |input=sidif
// |dialog=TopicGenerator#dialog
// |template=TopicGenerator#template
// |params=tripleStoreMode:SMW,contextName:{{{context|}}}
// |targetpage=TopicGenerator2015/{{{context|}}}}}
var contextSetting=JSON.parse(lbutton.value);
var params='@(getWikiTaskParams("Rythm"))';
var wikiTaskLink="runtemplate"+params;
wikiTaskLink+="&input="+encodeURIComponent(contextSetting.sidifInput);
wikiTaskLink+="&dialog="+encodeURIComponent("TopicGenerator#dialog");
wikiTaskLink+="&template="+encodeURIComponent("TopicGenerator#template");
wikiTaskLink+="&targetpage="+encodeURIComponent("TopicGenerator2015/"+contextSetting.contextName);
wikiTaskLink+="¶ms=tripleStoreMode:"+contextSetting.tripleStoreMode;
wikiTaskLink+=",contextName:"+encodeURIComponent(contextSetting.contextName);
wikiTaskLink+=",sidifInput:"+encodeURIComponent(contextSetting.sidifInput);
// console.log(wikiTaskLink);
window.location.replace(wikiTaskLink);
}
// show the given event with the given message
function showEvent(evt, msg) {
var doshow=true;
if (evt.target instanceof XMLHttpRequest) {
var xhr=evt.target;
msg+=" target="+xhr._url;
msg+=" responseType="+xhr.responseType;
msg+=" status="+xhr.status;
if (xhr.status==200) {
doshow=false;
}
}
if (doshow) {
errorMessage(evt.type+" "+getClass(evt.target)+": "+msg);
}
return evt.target;
}
// event when the transfer was successfully completed
function ajaxSuccess () {
var json=this.responseText;
// console.log(json);
try {
var jsonResult=JSON.parse(json);
// console.log(jsonResult);
var errorMsg=jsonResult.errorMsg;
if (errorMsg!=null) {
setProgress(jsonResult.id,100,"");
addMessage(getResponseDiv(),errorMsg);
} else {
setProgress(jsonResult.id,0,"");
var checkBox=getGeneratorElement(jsonResult.id,"");
var progresstext=getGeneratorElement(jsonResult.id,"_progress_pc");
var target=$("#"+jsonResult.id).attr("target");
var targetRef=newTextElement('a',target);
targetRef.href=jsonResult.targetUrl;
targetRef.style='font-size:12px';
var doneSpan=newTextElement('span','✓');
doneSpan.style='color:green;font-size:14px';
progresstext[0].appendChild(targetRef);
progresstext[0].appendChild(doneSpan);
var deltaRef=newTextElement('a','Δ');
deltaRef.style='font-size:12px';
var revid=$("#"+jsonResult.id+"_rev").attr("revid");
deltaRef.href=jsonResult.targetUrl+"?diff=cur&oldid="+revid;
progresstext[0].appendChild(deltaRef);
}
} catch (ex) {
alert(ex.message+"\njson="+json);
}
}
// event when transfer is complete
function transferComplete(evt) {
showEvent(evt,"transfer complete");
}
// event when the transfer failed
function transferFailed(evt) {
var xhr=showEvent(evt,"transfer failed");
if (xhr instanceof XMLHttpRequest) {
flagError(xhr._id,"transfer failed");
}
}
// event when the transer was cancelled
function transferCanceled(evt) {
showEvent(evt,"transfer canceled");
}
</script>
}
@// run the selected generators
@def runGenerators() {
@{
String icon="media_play_green";
String cmd="run";
}
<button type='submit' name='@cmd' value='@cmd' title='@cmd' onclick="return startGenerators(this.form);">
@(stockicon(icon,32,cmd,cmd))
</button>
}
@// display the given Reference as a row
@def referenceRow(Reference ref) {
<tr>
<td>@(wikiTaskCmd("refreshRef",ref.getReferenceId()))</td>
<td><a href='@(ref.getUrl())'>@(ref.getReferenceId())</a></td>
<td>@(ref.getReferenceType().toString())</td>
<td>@(ref.getAge())</td>
<td>@(ref.isAvailable())</td>
<td>@if(ref.getContent()) { @(ref.getContent().length()) } else { - }</td>
</tr>
}
@// display the given Source as a row
@def sourceRow(Source source) {
<tr><td></td><td>@(source.getId())</td><td>@(source.getPageTitle())</td><td>@(source.getAge())</td><td>@(source.isCache())</td><td>@(source.getSource().length())</td></tr>
}
@// display the table of PageCache entries
@def pageCacheTable(PageCache pageCache,String indent) {
@(indent)<table class="table tablesorter sortable">
@(indent)<thead>
@(indent) <tr><th>page</th><th>rev</th><th>timestamp</th></tr>
@(indent)</thead>
@(indent)<tbody>
@{
List<String> pageTitles = new ArrayList<String>(pageCache.getCachedPages().keySet());
}
@for (String pageTitle:pageTitles) {
@{
Page page=pageCache.getCachedPages().get(pageTitle);
Rev rev = PageCache.getPageRevision(page);
int revid=-1;
String timeStamp="?";
if (rev!=null) {
revid=rev.getRevid();
timeStamp=rev.getTimestamp();
}
}
@(indent) <tr><td>@showLink(pageTitle, 0, "Cache0_"+revid, "")</td><td>@showLink(pageTitle, revid, "Cache_"+revid, "")</td><td>@(timeStamp)</td></tr>
}
@(indent)</tbody>
@(indent)</table>
}
@// display the table of references and sources
@def referenceTable(ReferenceManager rm) {
<table class="table tablesorter sortable">
<thead>
<tr><th></th><th>id</th><th>type</th><th>age</th><th>cache</th><th>size</th></tr>
</thead>
<tbody>
@for (Reference reference:rm.referenceByReferenceId.values()) {
@referenceRow(reference)
@if (rm.getSourceById().get(reference.getReferenceId())!=null) {
<tr><th colspan='3'>Sources by Id</th>
@for (Source source:wikiTask.referenceManager.getSourceById().get(reference.getReferenceId()).values()) {
@sourceRow(source)
}
}
@if (rm.getSourceBySection().get(reference.getAnchor())!=null) {
<tr><th colspan='3'>Sources by Section</th>
@for (Source source:wikiTask.referenceManager.getSourceBySection().get(reference.getAnchor()).values()) {
@sourceRow(source)
}
}
}
</tbody>
</table>
}
@// show a link for the given pageTitle and revision id
@def showLink(String pageTitle,int revid, String id, String indent) {
@{
// default is unknown revision red link / create page approach
String revname="click to create";
String style="style='color:red'";
if (revid>=0) {
style="style='font-size: 12px'"; // normal link but small font
revname="Rev "+revid;
}
String link=getLink(pageTitle,revid);
}
@(indent)<a href='@(link)' id='@(id)' revid='@(revid)' title='@(revname)' @(style)>@(pageTitle)</a>
}
@// show the page status link
@def pageStatusLink(Topic topic,YT yt,Map<String, Page> statusMap) {
@{
String pageTitle=yt.getPageTitle(topic);
Page page=statusMap.get(pageTitle);
int revid = -1;
if (page != null) {
Rev rev = PageCache.getPageRevision(page);
if (rev!=null) {
revid = rev.getRevid();
}
}
}
@showLink(pageTitle, revid, yt.name+"__"+topic.name+"_rev", " ")
}
@// show a single row of generators for a given domain topic
@def topicRow(ContextSetting contextSetting,Context context,Topic topic,Map<String, Page> statusMap,YT[] yts, int rownum) {
<tr>
<th>@(topic.name)<div style="margin: 0 auto; width: 48px"><img src='@(wikiTask.getServer())@(wikiTask.getScriptpath())@(topic.iconUrl)' alt='@(topic.name)'></div></th><th><label><input class='checkboxSelect' type='checkbox' id="select_row_@(rownum)" title='select row'/>→</label></th>
@{ int colnum=0;}
@for(YT yt:yts) {
<td>
<label for='@(yt.name)_@(topic.name)'>
<input type="checkbox" class="checkBoxClass row_@(rownum) col_@(colnum)" contextsetting='@contextSetting.toJson()' context='@(context.name)' target='@yt.getPageTitle(topic)' yt='@(yt.name)' topic='@(topic.name)' id='@(yt.name)__@(topic.name)' name='@(yt.name):@(topic.name)' title='generate @(yt.getPageTitle(topic))' value="SiDIFTemplates#@(yt.template)">
</label>
</td>
<td>
@pageStatusLink(topic,yt,statusMap)
<progress id='@(yt.name)__@(topic.name)_progress' max='10' title='@(yt.name):@(topic.name)' style='display:none'></progress>
<span id='@(yt.name)__@(topic.name)_progress_pc' class='progresstext'></span>
</td>
@{ colnum++;}
}
</tr>
}
@// display the generators
@// sortable disabled - doesn't seem to work with selectAll logic
@def showGeneratorTasks(WikiTask wikiTask,ContextSetting contextSetting) {
@{
Context context=ContextFactory.getInstance().getContext(contextSetting);
List<String> pageTitles = new ArrayList<String>();
if (context!=null) {
for (YT yt : YT.yts) {
for (Topic topic : context.getTopics()) {
pageTitles.add(yt.getPageTitle(topic));
}
}
}
Map<String, Page> statusMap = wikiTask.referenceManager.getPageCache()
.updatePageStatus(pageTitles, true);
}
<h3>@(contextSetting.getTripleStoreMode())</h3>
@if (context) {
<form action='#'>
<table class="table tablesorter tablesorter-blue">
<thead>
<tr>
<th width='12%'>@(runGenerators())</th>
<th>Targets
</th>
@for(YT yt:YT.yts) {
<th colspan='2' style="text-align:center">@(yt.label)</th>
}
</tr>
@{ int colnum=0;}
<tr>
<th class='{sorter: false}'>Topics<br>
<div id='reloadbuttoncontainer' style='width:80px;display:inline-block' >
<button onclick='getSiDIF(this);return false;' value='@ContextSetting.fromWikiTaskAsSiDIF(wikiTask).toJson()' title='reload from SiDIF' style='display:inline-block'>
<img src='/stockicons/16x16/shadow/arrow_down_blue.png'/>
</button>
<button onclick='getSiDIF(this);return false;' value='@contextSetting.asSMWContextSetting().toJson()' title='reload from SMW Triples' style='display:inline-block' >
<img src='/stockicons/16x16/shadow/arrow_down_green.png'/>
</button>
</div>
</th>
<th class='{sorter: false}'><label><input type="checkbox" id="selectall" name="selectall" title='select all'/>↘</label></th>
@for(YT yt:YT.yts) {
<th class='{sorter: false}' width='14px'><label><input class='checkboxSelect' type='checkbox' id='select_col_@(colnum)' title='select all @(yt.label)'/>↓</label></th><th width='10%'><div style="margin: 0 auto; width: 48px"><img src='@(wikiTask.getServer())@(wikiTask.getScriptpath())@(yt.iconUrl)' alt='@(yt.label)'></div></th>
@{ colnum++;}
}
</tr>
</thead>
<tbody id='generatortasktable'>
@{ int rownum=0;}
@for (Topic topic:context.getTopics()) {
@topicRow(contextSetting,context,topic,statusMap,YT.yts,rownum++)
}
</tbody>
</table>
</form>
}
}
@// show the HTML Page for the given context
@def showHtml(ContextSetting contextSetting) {
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<title>@(title)</title>
@jquery(" ")
@style(" ")
@selectall()
@generatorStyle(" ")
@generatorScript()
</head>
<body>
<div id='container' class='container'>
<div id="dialog" title="@(title)" >
@(wikiTaskCmd("reset"))@(wikiTaskCmd("help"))@(wikiTaskCmd("debug"))
<a href='@(wikiTask.getTargetLink().getUrl())'>@(wikiTask.getTargetpage())</a>
called from <a href='@(wikiTask.getServer())@(wikiTask.getScriptpath())/index.php/@(wikiTask.getPageTitle())'>@(wikiTask.getPageTitle())</a> (@(wikiTask.getDuration()) msecs)
<div id="tabs">
<ul>
<li><a href="#generators">Generators</a></li>
<li><a href="#pagecache">Page-Cache</a></li>
<li><a href="#references">References</a></li>
</ul>
<div id="generators">
@(showGeneratorTasks(wikiTask,contextSetting))
</div>
<div id="pagecache">
@pageCacheTable(wikiTask.referenceManager.getPageCache()," ")
</div>
<div id="references">
@referenceTable(wikiTask.referenceManager)
</div>
</div>
<div id='errorMessage' style='color:red;font-size: 14px;border:1px solid red;display:none'></div>
<div id='response' style='font-size: 14px;border:1px solid blue'></div>
</div>
</div>
@dialog(" ")
</body>
</html>
}
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
}
@showHtml(contextSetting)
</source>
=== template ===
<source lang='java' id='template'>
@include(wiki.SiDIFTemplates.defs)
@// handle error
@def handleError(Throwable error) {
error @(error.getClass().getName()): @(error.getMessage())
=== stacktrace ===
<pre>
@getStackTrace(error)
</pre>
}
@{
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
Context context=ContextFactory.getInstance().getContext(contextSetting);
Context smwContext=ContextFactory.getInstance().getContext(contextSetting.asSMWContextSetting());
String contextName=contextSetting.getContextName();
}
@if (context==null) {
Context (sidif): @(contextName) not found in SiDIF
} else {== SiDIF ==
=== @(contextName) SiDIF ===
<pre>
@(context.asSiDIF())
</pre>
=== @(contextName) JSON ===
<pre>
@(context.toJson())
</pre>
}
@if (smwContext==null) {
Context (smw): @(contextName) not found in SMW triples of Wiki
} else {
== SMW ==
=== @(contextName) SiDIF ===
<pre>
@(smwContext.asSiDIF())
</pre>
=== @(contextName) JSON ===
<pre>
@(smwContext.toJson())
</pre>
}
</source>
8eb09ea86216e15198d91f69c1bf5a304b8e2956
Template:ProfiWiki
10
175
415
246
2017-11-05T18:06:01Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:01Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:PPTSlide
|next=Template:Sidif
}}
This is the "ProfiWiki" template. It shows a link to the ProfiWiki website
=== Example ===
<pre>
{{ProfiWiki}}
</pre>
{{ProfiWiki}}
[[Category:Template]]</noinclude><includeonly>{{Link|target=http://www.profiwiki.de|title=ProfiWiki}}</includeonly>
346fafa4d2aad7f2d82dc9247bfc7de7262d0d4b
Property:LCODE
102
208
416
2017-11-05T18:06:02Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:02Z
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Template:Fixme
10
180
417
251
2017-11-05T18:06:04Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:04Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:ExternalImage
|next=Template:HideSideBar
}}
This is the "Fixme" template.
It should be called in the following format:
<pre>
{{Fixme
|done=
|todo=
}}
</pre>
{{Fixme|todo=change so that empty done parameter sets SMW done property as "false" and Fixme's with no attributes show up in the List of Fixmes|done=false}}
{{Fixme|todo=explain me|done=false}}
Edit the page to see the template text.
</noinclude><includeonly>{| class="wikitable"
! done
| [[Fixme_done::{{{done|}}}]]
|-
! todo
| [[Fixme_todo::{{{todo|}}}]]
|}
</includeonly>
852924bdc2e701fb61ba7c8b58b099ffdf579c1c
File:FixmeIcon.png
6
181
418
318
2017-11-05T18:06:05Z
Wf
1
Wf uploaded a new version of [[File:FixmeIcon.png]]
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:15x18-fileicon-pdf.png
6
195
419
322
2017-11-05T18:06:08Z
Wf
1
Wf uploaded a new version of [[File:15x18-fileicon-pdf.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
GenerateProperties
0
196
420
324
2017-11-05T18:06:11Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:09Z
wikitext
text/x-wiki
{{Action
|name=GenerateProperties
|servicetype=WikiTask
|inputtype=Page
|input={{FULLPAGENAME}}#sidif
|actionpage={{FULLPAGENAME}}#template
|output={{FULLPAGENAME}}#result
|engine=rythm
|author=Wf
|since=2015/11/18
|comment=This saves a lot of work!
|storemode=property
}}
__NOCACHE__
* {{Link|target=Concept:Action}}
* {{Link|target=Template:Action}}
* {{Link|target=Template:Wikitask}}
= input =
=== sidif ===
<source lang='java' id='sidif'>
MetaModel isA Context
"MetaModel#sidif"is sidif of it
Topic needs Properties
Property needs Properties
SMW_Type needs Properties
Context needs Properties
TopicLink needs Properties
Action needs Properties
</source>
=== presentation sidif ===
<source lang='java' id='pressidif'>
Presentation isA Context
"Presentation#sidif"is sidif of it
Bigstock needs Properties
</source>
=== Training sidif ===
<source lang='java' id='trainingsidif'>
Training isA Context
"Training#sidif"is sidif of it
Quizkarte needs Properties
</source>
=== Syllabus sidif ===
<source lang='java' id='syllabussidif'>
Syllabus isA Context
"Syllabus#sidif"is sidif of it
LearningGoal needs Properties
</source>
=== CRM Sidif ===
<source lang='java' id='crmsidif'>
CRM isA Context
"CRM#sidif"is sidif of it
Organization needs Properties
Person needs Properties
Contact needs Properties
SocialLink needs Properties
</source>
= template =
<source lang='java' id='dialog'>
@// This is a rythm template
@import org.sidif.triple.TripleQuery
@import org.sidif.triple.Triple
@import org.sidif.wiki.SSLWiki
@import com.bitplan.topic.ContextSetting.TripleStoreMode
@import com.alibaba.fastjson.JSON
@import com.bitplan.mediawiki.japi.MediawikiApi
@import com.bitplan.mediawiki.japi.Mediawiki
@import com.bitplan.mediawiki.japi.api.Api
@include(wiki.SiDIFTemplates.propertiesdefs)
@args() {
String title
String logo
org.sidif.wiki.WikiTask wikiTask
org.sidif.triple.TripleStore tripleStore
}
@{
TripleQuery query=tripleStore.query();
TripleQuery needed=query.query(null,"needs","Properties");
Triple contextTriple=query.selectSingle(null,"isA","Context");
String contextName=contextTriple.getSubject().toString();
Triple sidifTriple=query.selectSingle(contextName,"sidif", null);
String contextSidif=sidifTriple.getObject().toString();
// now get the context
ContextSetting contextSetting=ContextSetting.fromWikiTask(wikiTask);
contextSetting.setContextName(contextName);
contextSetting.setSidifInput(contextSidif);
contextSetting.setTripleStoreMode(TripleStoreMode.SiDIF);
Context context = ContextFactory.getInstance().getContext(contextSetting);
}
@(wikiTask.getWiki().getIsoTimeStamp())
@(needed.size()) Topics need Properties to be generated
@for (Triple neededTriple:needed.getTriples()) {
@{
String topicName=neededTriple.getSubject().toString();
Topic topic=context.byName(topicName);
}
== Topic: @(topicName) ==
=== properties of @(topic.name) ===
@for (Property property:topic.getProperties()) {
==== [[Property:@(topic.name) @(property.name)]] ====
@{
Throwable error=null;
try {
// get the Rythm template result
org.rythmengine.utils.RawData pageContentRaw=property(topic,property);
String pageContent=pageContentRaw.toString();
String pageTitle="Property:"+topic.name+" "+property.name;
SSLWiki wiki=(SSLWiki)wikiTask.getWiki();
String currentContent=wiki.getPageContent(pageTitle);
// if (currentContent==null || currentContent.length()==0) {
String summary="generated by GenerateProperties at "+wiki.getIsoTimeStamp();
wiki.edit(pageTitle,pageContent,summary);
// }
} catch (Throwable th) {
error=th;
}
}
@if (error) {
<span style='color:red'>Error: @(error.getMessage())</span>
}
<pre>
@property(topic,property)
</pre>
}
}
</source>
{{#default_form:Action}}
= result =
2017-11-04T09:39:36Z
6 Topics need Properties to be generated
== Topic: Topic ==
=== properties of Topic ===
==== [[Property:Topic name]] ====
<pre>
{{Property
|name=name
|label=name
|documentation=The name of the topic
|type=Special:Types/Text
|index=1
|sortPos=
|primaryKey=true
|mandatory=true
|namespace=
|size=80
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Topic pluralName]] ====
<pre>
{{Property
|name=pluralName
|label=pluralName
|documentation=The plural of a topic name. E.g. for the topic 'City' the pluralName is 'Cities'. If no pluralName is specified an 's' is appended. E.g. for the topic 'Book' the default pluralName is 'Books'
|type=Special:Types/Text
|index=2
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Topic icon]] ====
<pre>
{{Property
|name=icon
|label=icon
|documentation=an Icon for the topic
|type=Special:Types/Page
|index=3
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=File
|size=55
|uploadable=true
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Topic iconUrl]] ====
<pre>
{{Property
|name=iconUrl
|label=icon Url
|documentation=the url of an icon
|type=Special:Types/URL
|index=4
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=80
|uploadable=false
|defaultValue=
|inputType=text
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::URL]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Topic documentation]] ====
<pre>
{{Property
|name=documentation
|label=documentation
|documentation=The plaintext documentation of a Topic. Please do not use markup for this.
|type=Special:Types/Text
|index=5
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Topic wikiDocumentation]] ====
<pre>
{{Property
|name=wikiDocumentation
|label=wikiDocumentation
|documentation=Documentation of the Topic using MediaWiki / Semantic Mediawiki markup
|type=Special:Types/Text
|index=6
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Topic defaultstoremode]] ====
<pre>
{{Property
|name=defaultstoremode
|label=default storemode
|documentation=The default storemode of the topic
|type=Special:Types/Text
|index=7
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=radiobutton
|allowedValues=none,property,subobject
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Topic listLimit]] ====
<pre>
{{Property
|name=listLimit
|label=list Limit
|documentation=What is the default #ask list limit for this Topic?
|type=Special:Types/Number
|index=8
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=4
|uploadable=false
|defaultValue=200
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Topic cargo]] ====
<pre>
{{Property
|name=cargo
|label=use cargo
|documentation=Should the Topic be stored using the [https://www.mediawiki.org/wiki/Extension:Cargo Cargo Extension?]
|type=Special:Types/Boolean
|index=9
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Topic headerTabs]] ====
<pre>
{{Property
|name=headerTabs
|label=headerTabs
|documentation=shall the forms be generated with header tabs?
|type=Special:Types/Boolean
|index=10
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Topic context]] ====
<pre>
{{Property
|name=context
|label=context
|documentation=
|type=Special:Types/Page
|index=
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=dropdown
|allowedValues=
|values_from=concept=Context
|showInGrid=
|isLink=true
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
== Topic: Property ==
=== properties of Property ===
==== [[Property:Property name]] ====
<pre>
{{Property
|name=name
|label=name
|documentation=The name of the property
|type=Special:Types/Text
|index=1
|sortPos=1
|primaryKey=true
|mandatory=true
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property label]] ====
<pre>
{{Property
|name=label
|label=label
|documentation=The label to be shown when in a form
|type=Special:Types/Text
|index=2
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property type]] ====
<pre>
{{Property
|name=type
|label=type
|documentation=The type of a Property
|type=Special:Types/Page
|index=3
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=Special:Types/Text
|inputType=dropdown
|allowedValues=
|values_from=property=Property_type
|showInGrid=true
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property index]] ====
<pre>
{{Property
|name=index
|label=index
|documentation=A positive number that specifies at which position of a Topic the given property should show. The first property to show has the index 1 each following property has an index that is +1 of the previous.
|type=Special:Types/Number
|index=4
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property sortPos]] ====
<pre>
{{Property
|name=sortPos
|label=sortPos
|documentation=If none empty >0 this is the position in the sort clause of this
property. This is used when displaying list of the topic as the default sort order
and it is used for selecting topics .
E.g.
Sortpos 1 for attribute lastname and sortpos 2 for attribute firstname leads to sort by lastname,firstname
|type=Special:Types/Number
|index=5
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=3
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property primaryKey]] ====
<pre>
{{Property
|name=primaryKey
|label=primary key
|documentation=is this property a primary key of it's topic?
|type=Special:Types/Boolean
|index=6
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=4
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property mandatory]] ====
<pre>
{{Property
|name=mandatory
|label=mandatory
|documentation=Specifies that this field must be filled in by the user. Note: mandatory should not be used in conjunction with hidden. Use of both in any field will cause the mandatory check on any field to fail when the form is saved.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
|type=Special:Types/Boolean
|index=7
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=4
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property namespace]] ====
<pre>
{{Property
|name=namespace
|label=namespace
|documentation=namespace prefix
|type=Special:Types/Text
|index=8
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=20
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property size]] ====
<pre>
{{Property
|name=size
|label=size
|documentation=the display size of the field for the property
|type=Special:Types/Number
|index=9
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=3
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Number]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property uploadable]] ====
<pre>
{{Property
|name=uploadable
|label=uploadable
|documentation=Specifies that a link should be placed next to this field, that opens a popup window to let the user upload a file; see 'Uploading files', below. See
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* https://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Uploading_files
The type of the target property needs to be Page for this to work
|type=Special:Types/Boolean
|index=10
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=4
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property defaultValue]] ====
<pre>
{{Property
|name=defaultValue
|label=default
|documentation=default value - Specifies a default value for this field. For date-related fields, default=now will set the value to the current date and possibly time. For text fields, default=current user will set the value to the username of the user adding this page. For the checkbox input type, default=yes will check the checkbox by default. (The 'checkboxes' input type, on the other hand, like the 'listbox' type, requires specifying the actual values, like default=Value A, Value C.) You can also include templates, parser functions, and magic words within the 'default=' value.
see http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag (default)
|type=Special:Types/Code
|index=11
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=80
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Code]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property inputType]] ====
<pre>
{{Property
|name=inputType
|label=inputType
|documentation=see
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>input type - Specifies the type of input this field will have in the form. If a field corresponds to an SMW property or Cargo field, the form will usually have the correct input type by default; otherwise the default is text. If the corresponding SMW property, or Cargo field, cannot be automatically determined, you can use the parameter 'property', or the parameters 'cargo table' and 'cargo field', to manually specify it (see below). The allowed set of input types is different for every semantic property type; see below for the full list of options.
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#Allowed_input_types_for_data_types
* http://www.mediawiki.org/wiki/Extension:Semantic_Forms_Inputs
|type=Special:Types/Text
|index=12
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=dropdown
|allowedValues=text, combobox, dropdown, textarea, tree, datetime, datepicker, timepicker, datetimepicker, menuselect,two listboxes, datecheck, regexp, radiobutton, googlemaps
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property allowedValues]] ====
<pre>
{{Property
|name=allowedValues
|label=allowedValues
|documentation=There are two ways to specified allowed Values:
# https://semantic-mediawiki.org/wiki/Help:Special_property_Allows_value. <br>Use [[Property:Allows_value]] to see which values are allowed for certain properties
# http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag<br>values=possible values - Specifies a set of either possible values or autocompletion values (depending on the input type) that this field can have, overriding whatever set of values may have been set from the Semantic MediaWiki property. This set of values is separated by commas by default, but the delimiter can be modified using the delimiter= parameter.
If you specify any values method number 2 will be used here which might override any allowed Values specified with method number 1.
|type=Special:Types/Text
|index=13
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property documentation]] ====
<pre>
{{Property
|name=documentation
|label=documentation
|documentation=The documentation for a property
|type=Special:Types/Text
|index=14
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=500
|uploadable=false
|defaultValue=
|inputType=textarea
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property values_from]] ====
<pre>
{{Property
|name=values_from
|label=values from
|documentation=Specifies where to get the possible values to be displayed in a form from see
http://www.mediawiki.org/wiki/Extension:Semantic_Forms/Defining_forms#.27field.27_tag
* values from property=property name - Similar to values=, but gets its values from the the set of all values that a certain SMW property points to.
* values from category=category name - Similar to values=, but gets its values from the names of all pages belonging to a specific category.
* values from concept=concept name - Similar to values=, but gets its values from the names of all pages belonging to a specific concept.
* values from namespace=namespace name - Similar to values=, but gets its values from the names of all pages belonging to a specific namespace. (To get values from the main namespace, use 'Main' for the namespace name, or just leave it blank.)
* values from url=URL identifier - Used only for autocompletion. Specifies that autocompletion should be based on the values retrieved from an outside URL; see Autocompleting on outside values for how to do this.
* values from external data=variable name - Used for autocompletion. You need to have theExternal Data extension installed to be able to use this parameter. It specifies that autocompletion should be based on the data retrieved from an outside source. A large number of data sources are supported, including web APIs, regular wiki pages, files on the local server, databases and LDAP directories. See Autocompletion using External Data.
|type=Special:Types/Code
|index=15
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=200
|uploadable=false
|defaultValue=
|inputType=textarea
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Code]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property showInGrid]] ====
<pre>
{{Property
|name=showInGrid
|label=showInGrid
|documentation=I am true if this property is displayed in the default list of properties for my topic as
a column
|type=Special:Types/Boolean
|index=16
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=true
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property isLink]] ====
<pre>
{{Property
|name=isLink
|label=isLink
|documentation=true if this Property is derived form a Link. It will not be exported to SiDIF separately and automatically be added by the Property Generator
|type=Special:Types/Boolean
|index=17
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property nullable]] ====
<pre>
{{Property
|name=nullable
|label=allow nulls?
|documentation=should nullvalues be allowed and value set to NULL when empty?
|type=Special:Types/Boolean
|index=18
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=false
|inputType=
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Property topic]] ====
<pre>
{{Property
|name=topic
|label=topic
|documentation=
|type=Special:Types/Page
|index=
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=dropdown
|allowedValues=
|values_from=concept=Topic
|showInGrid=
|isLink=true
|topic=Concept:Property
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
== Topic: SMW_Type ==
=== properties of SMW_Type ===
==== [[Property:SMW_Type type]] ====
<pre>
{{Property
|name=type
|label=type
|documentation=The Semantic MediaWiki type without the prefix e.g. Text, Number, Boolean
|type=Special:Types/Text
|index=1
|sortPos=
|primaryKey=true
|mandatory=true
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:SMW_Type documentation]] ====
<pre>
{{Property
|name=documentation
|label=documentation
|documentation=The documentation of this Semantic Media Wiki type
|type=Special:Types/Text
|index=2
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:SMW_Type helppage]] ====
<pre>
{{Property
|name=helppage
|label=helppage
|documentation=The url of the 'official' documentation page of this type
|type=Special:Types/URL
|index=4
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::URL]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:SMW_Type typepage]] ====
<pre>
{{Property
|name=typepage
|label=typepage
|documentation=The Semantic Media Wiki Special page for this specific type e.g. Special:Types/Text, Special:Types/Boolean, Special:Types/Date, Special:Types/Number, Special:Types/Page
|type=Special:Types/Page
|index=5
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:SMW_Type javaType]] ====
<pre>
{{Property
|name=javaType
|label=java Type
|documentation=Java mapping of this type
|type=Special:Types/Text
|index=6
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:SMW_Type id]] ====
<pre>
{{Property
|name=id
|label=id
|documentation=SMW internal id of the type
|type=Special:Types/Text
|index=3
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:SMW_Type usedByProperties]] ====
<pre>
{{Property
|name=usedByProperties
|label=usedByProperties
|documentation=the properties having this type
|type=Special:Types/Page
|index=
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=dropdown
|allowedValues=
|values_from=concept=Property
|showInGrid=
|isLink=true
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
== Topic: Context ==
=== properties of Context ===
==== [[Property:Context name]] ====
<pre>
{{Property
|name=name
|label=name
|documentation=Name of the context
|type=Special:Types/Text
|index=1
|sortPos=1
|primaryKey=true
|mandatory=true
|namespace=
|size=80
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Context
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Context since]] ====
<pre>
{{Property
|name=since
|label=since
|documentation=since when is this context available?
|type=Special:Types/Date
|index=2
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=datepicker
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Context
|storemode=property
}}
[[Has type::Date]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Context master]] ====
<pre>
{{Property
|name=master
|label=master
|documentation=what is the original master source of this context
|type=Special:Types/URL
|index=3
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Context
|storemode=property
}}
[[Has type::URL]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
== Topic: TopicLink ==
=== properties of TopicLink ===
==== [[Property:TopicLink name]] ====
<pre>
{{Property
|name=name
|label=name
|documentation=The name of the topic link
|type=Special:Types/Text
|index=1
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:TopicLink source]] ====
<pre>
{{Property
|name=source
|label=source
|documentation=the source of a topic Link
|type=Special:Types/Page
|index=2
|sortPos=
|primaryKey=false
|mandatory=true
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=dropdown
|allowedValues=
|values_from=concept=Topic
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:TopicLink sourceRole]] ====
<pre>
{{Property
|name=sourceRole
|label=sourceRole
|documentation=
|type=Special:Types/Text
|index=3
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:TopicLink sourceMultiple]] ====
<pre>
{{Property
|name=sourceMultiple
|label=sourceMultiple
|documentation=
|type=Special:Types/Boolean
|index=4
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:TopicLink sourceDocumentation]] ====
<pre>
{{Property
|name=sourceDocumentation
|label=source Doc
|documentation=Documentation for the source Role
|type=Special:Types/Text
|index=5
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=300
|uploadable=false
|defaultValue=
|inputType=textarea
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:TopicLink target]] ====
<pre>
{{Property
|name=target
|label=target
|documentation=
|type=Special:Types/Page
|index=6
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:TopicLink targetRole]] ====
<pre>
{{Property
|name=targetRole
|label=targetRole
|documentation=
|type=Special:Types/Text
|index=7
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:TopicLink targetMultiple]] ====
<pre>
{{Property
|name=targetMultiple
|label=sourceMultiple
|documentation=
|type=Special:Types/Boolean
|index=8
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=50
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:TopicLink targetDocumentation]] ====
<pre>
{{Property
|name=targetDocumentation
|label=target Doc
|documentation=Documentation for the target Role
|type=Special:Types/Text
|index=9
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=300
|uploadable=false
|defaultValue=
|inputType=textarea
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:TopicLink masterDetail]] ====
<pre>
{{Property
|name=masterDetail
|label=masterDetail
|documentation=should the details be displayed in the same form and template?
If no
* for a 1:1 link there will be a linking attribute used and that can be selected.
* for a 1:n link a link to the list of neighbours will be displayed
if yes
* for a 1:1 link the details
* for a 1:n link
|type=Special:Types/Boolean
|index=10
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:TopicLink
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
== Topic: Action ==
=== properties of Action ===
==== [[Property:Action name]] ====
<pre>
{{Property
|name=name
|label=name
|documentation=The name of the Action
|type=Special:Types/Text
|index=0
|sortPos=
|primaryKey=true
|mandatory=true
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Action
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Action servicetype]] ====
<pre>
{{Property
|name=servicetype
|label=servicetype
|documentation=The type of the service
|type=Special:Types/Text
|index=1
|sortPos=
|primaryKey=false
|mandatory=true
|namespace=
|size=
|uploadable=false
|defaultValue=WikiTask
|inputType=radiobutton
|allowedValues=WikiTask
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Action
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Action service]] ====
<pre>
{{Property
|name=service
|label=service
|documentation=The service to be used
|type=Special:Types/URL
|index=2
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Action
|storemode=property
}}
[[Has type::URL]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Action inputtype]] ====
<pre>
{{Property
|name=inputtype
|label=inputtype
|documentation=What is the type of the input?
|type=Special:Types/Text
|index=3
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=Page
|inputType=radiobutton
|allowedValues=Query,Page,URL
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Action
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Action input]] ====
<pre>
{{Property
|name=input
|label=input
|documentation=the decription of the input e.g. a page name, url or SMW ask query
|type=Special:Types/Code
|index=4
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=300
|uploadable=false
|defaultValue=
|inputType=textarea
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Action
|storemode=property
}}
[[Has type::Code]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Action actionpage]] ====
<pre>
{{Property
|name=actionpage
|label=actionpage
|documentation=What page will 'steer' this action?
|type=Special:Types/Page
|index=5
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=Property:Action actionpage
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Action
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Action output]] ====
<pre>
{{Property
|name=output
|label=output
|documentation=where the output of the action should go
|type=Special:Types/Text
|index=6
|sortPos=
|primaryKey=
|mandatory=
|namespace=
|size=
|uploadable=
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=
|isLink=false
|topic=Concept:Action
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Action engine]] ====
<pre>
{{Property
|name=engine
|label=engine
|documentation=the template engine to be used either [[Rythm]] or [[Freemarker]]
|type=Special:Types/Text
|index=7
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=rythm
|inputType=radiobutton
|allowedValues=rythm,freemarker
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Action
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Action author]] ====
<pre>
{{Property
|name=author
|label=author
|documentation=the author of this action
|type=Special:Types/Page
|index=8
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=combobox
|allowedValues=
|values_from=namespace=User
|showInGrid=true
|isLink=false
|topic=Concept:Action
|storemode=property
}}
[[Has type::Page]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Action since]] ====
<pre>
{{Property
|name=since
|label=since
|documentation=since when is this action available?
|type=Special:Types/Date
|index=9
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=datepicker
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Action
|storemode=property
}}
[[Has type::Date]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
==== [[Property:Action comment]] ====
<pre>
{{Property
|name=comment
|label=comment
|documentation=a comment for the action
|type=Special:Types/Text
|index=10
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=400
|uploadable=false
|defaultValue=
|inputType=textarea
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Action
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
</pre>
= Links =
<headertabs/>
6473c9d6eac7747f1fe5efcf5fcc979d40731806
File:Actionicon.png
6
197
421
325
2017-11-05T18:06:11Z
Wf
1
Wf uploaded a new version of [[File:Actionicon.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Property:Topic headerTabs
102
209
422
2017-11-05T18:06:11Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:11Z
wikitext
text/x-wiki
{{Property
|name=headerTabs
|label=headerTabs
|documentation=shall the forms be generated with header tabs?
|type=Special:Types/Boolean
|index=10
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:Topic
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
6233cbd454efea13309ca69e9d489c7f038c6803
Template:ExternalImage
10
210
423
2017-11-05T18:06:12Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:12Z
wikitext
text/x-wiki
<noinclude><!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:Done
|next=Template:Fixme
}}
This is the Template ''ExternalImage''
It works along the lines of:
* http://stackoverflow.com/questions/19450262/mediawiki-set-external-image-width-by-value
You might want to add the following lines to {{Link|target=MediaWiki:Common.css}}
<pre>
.externalimage-holder {
position: relative;
}
.externalimage-holder img {
width: 100%;
height: auto;
}
</pre>
=== usage ===
<pre>{{ExternalImage|size=250px|title=Smiling Girl|link=http://philia-care.com/wp-content/uploads/2015/04/smiling_girl_small.jpg}}</pre>
{{ExternalImage|size=250px|title=Smiling Girl|link=http://philia-care.com/wp-content/uploads/2015/04/smiling_girl_small.jpg}}
[[Category:Template]]
</noinclude><includeonly><div class='externalimage-holder' title='{{{title|}}}' style='width:{{{size|250px}}}'>{{{link|}}}</div></includeonly>
3a7ed24bbd0e476db378e0a79e40b9499bea96c8
Template:PageBreak
10
211
424
2017-11-05T18:06:12Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:12Z
wikitext
text/x-wiki
<noinclude>__NOCACHE__<!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->{{TemplateSequence
|prev=Template:Link
|next=Template:PageSequence
}}This is the '''PageBreak''' template. It includes html markup into the wiki markup to force a page break on printout
== usage ==
<pre>
{{PageBreak}}
</pre>
{{PageBreak}}
== issues ==
* http://stackoverflow.com/questions/1630819/google-chrome-printing-page-breaks
* http://stackoverflow.com/questions/16989843/page-break-after-always-not-working-when-printing
== test ==
If you print this page the test part should show on a new page
</noinclude><includeonly><div style='page-break-after: always;'></div></includeonly>
360739c2d2a2a1a22075e35c92e61e7af87a78a1
File:BITPlanLogo2012 138x77.png
6
212
425
2017-11-05T18:06:13Z
Wf
1
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Template:SlideSequence
10
213
426
2017-11-05T18:06:13Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:13Z
wikitext
text/x-wiki
<noinclude>
{{TemplateSequence
|prev=Template:Slide
|next=Template:TemplateSequence
}}
This is the Template for Slide Sequences
=== Example ===
{{SlideSequence|prev=Template:Slide|next=Template:PPTSlide|presentation=CPRE-AL-RM-presentation-1_ch01}}
{{SlideSequence|prev=Begriffe Kapitel 7|presentation=CPRE-AL-RM-presentation-7_ch07}}
</noinclude>
<includeonly>{{IconLink|name=home|target=Main Page|title=home}}{{#if:{{{prev|}}}|{{IconLink|name=nav_left_blue|target={{{prev|}}}|title=previous}}}}{{#if:{{{presentation|}}}|{{#vardefine:categoryIcon|{{#show:{{{presentation|}}}|?categoryIcon#}}}}
{{IconLink|name={{#if:{{#var:categoryIcon}}|{{#var:categoryIcon}}|presentation}}|target={{{presentation|}}}|title={{{presentation|}}}}}}}{{#if:{{{next|}}}|{{IconLink|name=nav_right_blue|target={{{next|}}}|title=next}}}}</includeonly>
d25537e8e918981071b954194297198885670d46
Template:PPTSlide
10
214
427
2017-11-05T18:06:14Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:13Z
wikitext
text/x-wiki
<noinclude>
{{TemplateSequence
|prev=Template:PdfBook
|next=Template:ProfiWiki
}}
This is a template for printing and displaying "Powerpoint" slides
=== Example ===
{{PPTSlide|content=File:Anforderungen_im_Rahmen_der_Konzeption_erheben.png|notes=Anforderungen werden im Rahmen der Konzeption erhoben.<br> Es wird die Problemseitige Fragestellung geklärt, bevor eine Lösung entwickelt wird.}}
</noinclude><includeonly>{{HideSideBar}}{{SlideSequence|prev={{{prev|}}}|presentation={{{presentation|}}}|next={{{next|}}}}}
{{#if:{{{content|}}}|[[{{{content|}}}|800px]]}}<div style='float:right'>{{{notes|}}}</div></includeonly>
9f4c88c20522bc6034fe5bd73a860b0fbc2eba91
Template:WikiSlide
10
215
428
2017-11-05T18:06:14Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:14Z
wikitext
text/x-wiki
<noinclude>
{{TemplateSequence
|prev=Template:WikiIconTask
|next=Template:!
}}
This is a template for printing and displaying Wiki pages as slides
=== Examples ===
{{WikiSlide
|title=A very long sample title that might well need two lines to be displayed
|text=<br>
<div class='bitplanorange'>A sample slide</div>
|notes=This is a sample slide
}}
<pre>
{{WikiSlide
|title=Typical slide
|text=Mostly slides have
* bullet points
* pictures
* plain text
|notes=This is a sample slide
}}
</pre>
{{WikiSlide
|title=Typical slide
|text=Mostly slides have
* bullet points
* pictures
* plain text
|notes=This is a sample slide
}}
{{WikiSlide
|title=Slide with picture (right)
|rightContent=[[File:Slotmachine.png|400px]]
|text=Some slides have
* pictures
* either placed right or left
* which float side by side with the text
|notes=see {{Link|target=Template:WikiSlide}}
}}
{{WikiSlide
|title=Side with bigstock (right)
|rightContent={{Bigstock|id=60303878}}
|text=Tasks can be put in a task list
* each item can be marked as done
* the list updates itself
* the items can be assigned to people
}}
{{WikiSlide
|title=Side with bigstock (left)
|leftContent={{Bigstock|id=23984411}}
|text=Tasks can be put in a task list
* each item can be marked as done
* the list updates itself
* the items can be assigned to people
}}
{{WikiSlide
|title=Slide with table in Notes
|leftContent={{Bigstock|id=66177250}}
|text=The table should show on the right
|notes={{{!}} class='wikitable sortable'
{{!}}Anforderungen
ermitteln
{{!}}Stakeholder und deren Bedürfnisse und Ideen
Gegebenenfalls: ein vorhandenes Altsystem und dessen Dokumentation
Konkurrenzprodukte
{{!}}Mündliche und schriftliche Anforderungen einschließlich der System-Vision
{{!}}-
{{!}}Anforderungen
dokumentieren
{{!}}Mündliche und schriftliche Anforderungen
{{!}}Schriftliche Anforderungsspezifikation (textuell oder modellbasiert oder beides)
{{!}}-
{{!}}Anforderungen
prüfen und
abstimmen
{{!}}Schriftliche Anforderungsspezifikation
{{!}}Validierte, konfliktfreie, konsistente, priorisierte, qualitätsgesicherte Anforderungsspezifikation
{{!}}-
{{!}}Anforderungen
verwalten
{{!}}Schriftliche Anforderungsspezifikation sowie Änderungsanträge
{{!}}Stets aktuelle, validierte, konfliktfreie, konsistente, priorisierte, qualitätsgesicherte Anforderungsspezifikation
Aufbereitung der Anforderungen für einzelne Stakeholder-Gruppen
{{!}}-
{{!}}}
}}
[[Category:SlidePrintTemplate]]
</noinclude><includeonly>{{SlideSequence|prev={{{prev|}}}|presentation={{{presentation|}}}|next={{{next|}}}}}
<html>
<style>
#bp-slide-frame {
height: 100%;
margin: 0;
width: 100%;
}
#bp-slide-header, #bp-slide-footer {
background: #EAEAEA;
font-family:Arial;
}
#bp-slide-header {
background-size: 100px;
height: 71px;
margin-bottom: 4px;
}
#bp-slide-headerframe {
border-bottom: 2px #ff8000 solid;
}
#bp-slide-headercontent {
margin: 30px;
height: 20px;
font-weight: bold;
font-size: 24px;
}
#bp-slide-footer {
height: 65px;
}
#bp-slide-footerframe {
margin-top: 4px;
border-top: 2px #ff8000 solid;
}
#bp-slide-footercontent {
margin: 10px
}
.bp-slide-content-row {
background: #FFFFFF;
min-height: 70%;
overflow:scroll;
height: 100%;
}
.bp-slide-content {
padding: 12px;
font-size: 24px;
}
.bp-slide-content-right {
font-size: 18px;
}
.bp-slide-content-left {
font-size: 18px;
}
</style>
</html>
{{HideSideBar}}
<table id='bp-slide-frame'>
<tr id='bp-slide-header'>
<td id='bp-slide-headerframe' colspan='3'>
<div id='bp-slide-headercontent'>[[File:BITPlanLogo2012 138x77.png|left]]{{{title|}}}</div>
</td>
</tr>
<tr class="bp-slide-content-row">
<td class='bp-slide-content-left'>{{#if:{{{leftContent|}}}|{{{leftContent|}}}}}</td>
<td class='bp-slide-content'>{{#if:{{{text|}}}|{{{text|}}}}}</td>
<td class='bp-slide-content-right'> {{#if:{{{rightContent|}}}|{{{rightContent|}}}}}</td>
<td width='50%'> {{#if:{{{notes|}}}|{{{notes|}}}}}</td>
</tr>
<tr id="bp-slide-footer">
<td id='bp-slide-footerframe' colspan='3'>
<div id='bp-slide-footercontent'>Copyright (c) 2015 BITPlan GmbH</div>
</td>
</tr>
</table>
</includeonly>
c5cce9769997c0f5e125efdb1da5d172faf5f02f
Template:Slide
10
101
429
142
2017-11-05T18:06:15Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:15Z
wikitext
text/x-wiki
<noinclude>
<!-- THIS FILE IS PROTECTED - smartGENERATOR WILL NOT OVERWRITE IT -->
<!--
-- Copyright (C) 2015 BITPlan GmbH
--
-- Pater-Delp-Str. -- 1
-- D-47877 -- Willich-Schiefbahn
--
-- http://www.bitplan.com
--
--
-->
{{TemplateSequence
|prev=Template:Sidif
|next=Template:SlideSequence
}}
This is the template {{Link|target=Template:Slide|title=Slide}}.
It belongs to the concept/topic {{Link|target=:Concept:Slide}}<br>
You may find examples for the use of this template via the {{Link|target=List of Slides}}.
=== Usage ===
==== storemode subobject ====
<pre>{{Slide
|title=
|pageno=
|pages=
|prev=
|next=
|leftContent=
|rightContent=
|text=
|notes=
|print=
|template=
|state=
|comment=
|presentation=
|storemode=subobject
}}
</pre>
==== storemode property ====
<pre>{{Slide
|title=
|pageno=
|pages=
|prev=
|next=
|leftContent=
|rightContent=
|text=
|notes=
|print=
|template=
|state=
|comment=
|presentation=
|storemode=property
}}
</pre>
==== storemode none ====
<pre>{{Slide
|title=
|pageno=
|pages=
|prev=
|next=
|leftContent=
|rightContent=
|text=
|notes=
|print=
|template=
|state=
|comment=
|presentation=
|storemode=none
}}
</pre>
==== viewmode tableheader ====
<pre>{{Slide
|title=
|pageno=
|pages=
|prev=
|next=
|leftContent=
|rightContent=
|text=
|notes=
|print=
|template=
|state=
|comment=
|presentation=
|viewmode=tableheader
}}
</pre>
==== viewmode tablerow ====
<pre>{{Slide
|title=
|pageno=
|pages=
|prev=
|next=
|leftContent=
|rightContent=
|text=
|notes=
|print=
|template=
|state=
|comment=
|presentation=
|viewmode=tablerow
}}
</pre>
==== viewmode tablefooter ====
<pre>{{Slide
|title=
|pageno=
|pages=
|prev=
|next=
|leftContent=
|rightContent=
|text=
|notes=
|print=
|template=
|state=
|comment=
|presentation=
|viewmode=tablefooter
}}
</pre>
==== viewmode labelfield ====
<pre>{{Slide
|title=
|pageno=
|pages=
|prev=
|next=
|leftContent=
|rightContent=
|text=
|notes=
|print=
|template=
|state=
|comment=
|presentation=
|viewmode=labelfield
}}
</pre>
=== Source ===
<source lang='html4strict'>
{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Slide<br>|}}
{{#if:{{{?title|}}}|"{{{?title}}}" is title of it <br>|}}
{{#if:{{{?pageno|}}}|"{{{?pageno}}}" is pageno of it <br>|}}
{{#if:{{{?pages|}}}|"{{{?pages}}}" is pages of it <br>|}}
{{#if:{{{?prev|}}}|"{{{?prev}}}" is prev of it <br>|}}
{{#if:{{{?next|}}}|"{{{?next}}}" is next of it <br>|}}
{{#if:{{{?leftContent|}}}|"{{{?leftContent}}}" is leftContent of it <br>|}}
{{#if:{{{?rightContent|}}}|"{{{?rightContent}}}" is rightContent of it <br>|}}
{{#if:{{{?text|}}}|"{{{?text}}}" is text of it <br>|}}
{{#if:{{{?notes|}}}|"{{{?notes}}}" is notes of it <br>|}}
{{#if:{{{?print|}}}|"{{{?print}}}" is print of it <br>|}}
{{#if:{{{?template|}}}|"{{{?template}}}" is template of it <br>|}}
{{#if:{{{?state|}}}|"{{{?state}}}" is state of it <br>|}}
{{#if:{{{?comment|}}}|"{{{?comment}}}" is comment of it <br>|}}
{{#if:{{{?presentation|}}}|"{{{?presentation}}}" is presentation of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|{{#set:
|isA=Slide
|Slide title={{{title|}}}
|Slide pageno={{{pageno|}}}
|Slide pages={{{pages|}}}
|Slide prev={{{prev|}}}
|Slide next={{{next|}}}
|Slide leftContent={{{leftContent|}}}
|Slide rightContent={{{rightContent|}}}
|Slide text={{{text|}}}
|Slide notes={{{notes|}}}
|Slide print={{{print|}}}
|Slide template={{{template|}}}
|Slide state={{{state|}}}
|Slide comment={{{comment|}}}
|Slide presentation={{{presentation|}}}
}}
}}
{{#switch: {{{viewmode|}}}
|masterdetail=
|tableheader={{{!}} class='wikitable'
!title!!pageno!!pages!!prev!!next!!leftContent!!rightContent!!text!!notes!!print!!template!!state!!comment!!presentation
{{!}}-
|tablerow=
{{!}}{{{title|}}}{{!}}{{!}}{{{pageno|}}}{{!}}{{!}}{{{pages|}}}{{!}}{{!}}{{{prev|}}}{{!}}{{!}}{{{next|}}}{{!}}{{!}}{{{leftContent|}}}{{!}}{{!}}{{{rightContent|}}}{{!}}{{!}}{{{text|}}}{{!}}{{!}}{{{notes|}}}{{!}}{{!}}{{{print|}}}{{!}}{{!}}{{{template|}}}{{!}}{{!}}{{{state|}}}{{!}}{{!}}{{{comment|}}}{{!}}{{!}}{{{presentation|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
title={{#if:{{{title|}}}|{{{title|}}}|}}<br>pageno={{#if:{{{pageno|}}}|{{{pageno|}}}|}}<br>pages={{#if:{{{pages|}}}|{{{pages|}}}|}}<br>prev={{#if:{{{prev|}}}|[[{{{prev|}}}]]|}}<br>next={{#if:{{{next|}}}|[[{{{next|}}}]]|}}<br>leftContent={{#if:{{{leftContent|}}}|{{{leftContent|}}}|}}<br>rightContent={{#if:{{{rightContent|}}}|{{{rightContent|}}}|}}<br>text={{#if:{{{text|}}}|{{{text|}}}|}}<br>notes={{#if:{{{notes|}}}|{{{notes|}}}|}}<br>print={{#if:{{{print|}}}|{{{print|}}}|}}<br>template={{#if:{{{template|}}}|{{{template|}}}|}}<br>state={{#if:{{{state|}}}|{{{state|}}}|}}<br>comment={{#if:{{{comment|}}}|{{{comment|}}}|}}<br>presentation={{#if:{{{presentation|}}}|[[{{{presentation|}}}]]|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Slide
{{!}}-
{{#switch:{{{storemode|}}}|property=
! colspan='2' style='text-align:left' {{!}} {{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Slide/{{FULLPAGENAME}}|title=edit}}
{{!}}-
}}
!title
{{!}} {{#if:{{{title|}}}|{{{title|}}}|}}
{{!}}-
!#
{{!}} {{#if:{{{pageno|}}}|{{{pageno|}}}|}}
{{!}}-
! ##
{{!}} {{#if:{{{pages|}}}|{{{pages|}}}|}}
{{!}}-
!prev
{{!}} {{#if:{{{prev|}}}|[[{{{prev|}}}]]|}}
{{!}}-
!next
{{!}} {{#if:{{{next|}}}|[[{{{next|}}}]]|}}
{{!}}-
!left
{{!}} {{#if:{{{leftContent|}}}|{{{leftContent|}}}|}}
{{!}}-
!right
{{!}} {{#if:{{{rightContent|}}}|{{{rightContent|}}}|}}
{{!}}-
!text
{{!}} {{#if:{{{text|}}}|{{{text|}}}|}}
{{!}}-
!notes
{{!}} {{#if:{{{notes|}}}|{{{notes|}}}|}}
{{!}}-
!print
{{!}} {{#if:{{{print|}}}|{{{print|}}}|}}
{{!}}-
!template
{{!}} {{#if:{{{template|}}}|{{{template|}}}|}}
{{!}}-
!state
{{!}} {{#if:{{{state|}}}|{{{state|}}}|}}
{{!}}-
!comment
{{!}} {{#if:{{{comment|}}}|{{{comment|}}}|}}
{{!}}-
!presentation
{{!}} {{#if:{{{presentation|}}}|[[{{{presentation|}}}]]|}}
{{!}}-
{{!}}}
}}
}}
[[Category:Slide]]
</source>
Click on "Edit" to edit the Source of this Template.
</noinclude><includeonly>{{#switch:{{{userparam|}}}|sidif={{#if:{{{?pageid|}}}|{{#replace:{{#replace:{{{?pageid}}}|#|}}|-|_}} isA Slide<br>|}}
{{#if:{{{?title|}}}|"{{{?title}}}" is title of it <br>|}}
{{#if:{{{?pageno|}}}|"{{{?pageno}}}" is pageno of it <br>|}}
{{#if:{{{?pages|}}}|"{{{?pages}}}" is pages of it <br>|}}
{{#if:{{{?prev|}}}|"{{{?prev}}}" is prev of it <br>|}}
{{#if:{{{?next|}}}|"{{{?next}}}" is next of it <br>|}}
{{#if:{{{?leftContent|}}}|"{{{?leftContent}}}" is leftContent of it <br>|}}
{{#if:{{{?rightContent|}}}|"{{{?rightContent}}}" is rightContent of it <br>|}}
{{#if:{{{?text|}}}|"{{{?text}}}" is text of it <br>|}}
{{#if:{{{?notes|}}}|"{{{?notes}}}" is notes of it <br>|}}
{{#if:{{{?print|}}}|"{{{?print}}}" is print of it <br>|}}
{{#if:{{{?template|}}}|"{{{?template}}}" is template of it <br>|}}
{{#if:{{{?state|}}}|"{{{?state}}}" is state of it <br>|}}
{{#if:{{{?comment|}}}|"{{{?comment}}}" is comment of it <br>|}}
{{#if:{{{?presentation|}}}|"{{{?presentation}}}" is presentation of it <br>|}}
|#default={{#switch:{{{storemode|}}}
|none=
|{{#set:
|isA=Slide
|Slide title={{{title|}}}
|Slide pageno={{{pageno|}}}
|Slide pages={{{pages|}}}
|Slide prev={{{prev|}}}
|Slide next={{{next|}}}
|Slide leftContent={{{leftContent|}}}
|Slide rightContent={{{rightContent|}}}
|Slide text={{{text|}}}
|Slide notes={{{notes|}}}
|Slide print={{{print|}}}
|Slide template={{{template|}}}
|Slide state={{{state|}}}
|Slide comment={{{comment|}}}
|Slide presentation={{{presentation|}}}
}}
}}
{{#switch: {{{print|}}}
|wiki={{SlideSequence|prev={{{prev|}}}|presentation={{{presentation|}}}|next={{{next|}}}}}
|template={{{{{template|PPTTemplate}}}|content={{{leftContent|}}}|title={{{title|}}}|leftContent={{{leftContent|}}}|rightContent={{{rightContent|}}}|text={{{text|}}}|notes={{{notes|}}}|comment={{{comment|}}}|prev={{{prev|}}}|presentation={{{presentation|}}}|next={{{next|}}}}}
|#default={{#switch: {{{viewmode|}}}
|masterdetail=
|tableheader={{{!}} class='wikitable'
!title!!pageno!!pages!!prev!!next!!leftContent!!rightContent!!text!!notes!!print!!template!!state!!comment!!presentation
{{!}}-
|tablerow=
{{!}}{{{title|}}}{{!}}{{!}}{{{pageno|}}}{{!}}{{!}}{{{pages|}}}{{!}}{{!}}{{{prev|}}}{{!}}{{!}}{{{next|}}}{{!}}{{!}}{{{leftContent|}}}{{!}}{{!}}{{{rightContent|}}}{{!}}{{!}}{{{text|}}}{{!}}{{!}}{{{notes|}}}{{!}}{{!}}{{{print|}}}{{!}}{{!}}{{{template|}}}{{!}}{{!}}{{{state|}}}{{!}}{{!}}{{{comment|}}}{{!}}{{!}}{{{presentation|}}}
{{!}}-
|tablefooter={{!}}}
|labelfield=
title={{#if:{{{title|}}}|{{{title|}}}|}}<br>pageno={{#if:{{{pageno|}}}|{{{pageno|}}}|}}<br>pages={{#if:{{{pages|}}}|{{{pages|}}}|}}<br>prev={{#if:{{{prev|}}}|[[{{{prev|}}}]]|}}<br>next={{#if:{{{next|}}}|[[{{{next|}}}]]|}}<br>leftContent={{#if:{{{leftContent|}}}|{{{leftContent|}}}|}}<br>rightContent={{#if:{{{rightContent|}}}|{{{rightContent|}}}|}}<br>text={{#if:{{{text|}}}|{{{text|}}}|}}<br>notes={{#if:{{{notes|}}}|{{{notes|}}}|}}<br>print={{#if:{{{print|}}}|{{{print|}}}|}}<br>template={{#if:{{{template|}}}|{{{template|}}}|}}<br>state={{#if:{{{state|}}}|{{{state|}}}|}}<br>comment={{#if:{{{comment|}}}|{{{comment|}}}|}}<br>presentation={{#if:{{{presentation|}}}|[[{{{presentation|}}}]]|}}<br>|#default={{{!}} class='wikitable'
! colspan='2' {{!}}Slide
{{!}}-
{{#switch:{{{storemode|}}}|property=
! colspan='2' style='text-align:left' {{!}} {{Icon|name=edit|size=24}}{{Link|target=Special:FormEdit/Slide/{{FULLPAGENAME}}|title=edit}}
{{!}}-
}}
!title
{{!}} {{#if:{{{title|}}}|{{{title|}}}|}}
{{!}}-
!#
{{!}} {{#if:{{{pageno|}}}|{{{pageno|}}}|}}
{{!}}-
! ##
{{!}} {{#if:{{{pages|}}}|{{{pages|}}}|}}
{{!}}-
!prev
{{!}} {{#if:{{{prev|}}}|[[{{{prev|}}}]]|}}
{{!}}-
!next
{{!}} {{#if:{{{next|}}}|[[{{{next|}}}]]|}}
{{!}}-
!left
{{!}} {{#if:{{{leftContent|}}}|{{{leftContent|}}}|}}
{{!}}-
!right
{{!}} {{#if:{{{rightContent|}}}|{{{rightContent|}}}|}}
{{!}}-
!text
{{!}} {{#if:{{{text|}}}|{{{text|}}}|}}
{{!}}-
!notes
{{!}} {{#if:{{{notes|}}}|{{{notes|}}}|}}
{{!}}-
!print
{{!}} {{#if:{{{print|}}}|{{{print|}}}|}}
{{!}}-
!template
{{!}} {{#if:{{{template|}}}|{{{template|}}}|}}
{{!}}-
!state
{{!}} {{#if:{{{state|}}}|{{{state|}}}|}}
{{!}}-
!comment
{{!}} {{#if:{{{comment|}}}|{{{comment|}}}|}}
{{!}}-
!presentation
{{!}} {{#if:{{{presentation|}}}|[[{{{presentation|}}}]]|}}
{{!}}-
{{!}}}
}}
}}
}}
[[Category:Slide]]</includeonly>
f6da2ffe7fbdd35eed7d6eda8ad3af1896b13edb
File:Anforderungen im Rahmen der Konzeption erheben.png
6
216
430
2017-11-05T18:06:16Z
Wf
1
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Template:Languagelink
10
217
431
2017-11-05T18:06:16Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:16Z
wikitext
text/x-wiki
<noinclude>
{{TemplateSequence
|prev=Template:Language
|next=Template:Link
}}
From http://semantic-mediawiki.org/wiki/Template:Languagelink
This template creates a link to another page (parameter 1), using the language code as a link text (parameter 2). Flags can be shown by defining suitable styles for the span classes <code>lang-LANGCODE</code> (using [[MediaWiki:Common.css]]).
Languages with special styles currently are:
* <span class="lang-zh-hans">Chinese (simplified)</span>
* <span class="lang-nl">Dutch</span>
* <span class="lang-en">English</span>
* <span class="lang-fr">French</span>
* <span class="lang-de">German</span>
* <span class="lang-ja">Japanese</span>
* <span class="lang-ru">Russian</span>
* <span class="lang-es">Spanish</span>
* <span class="lang-uk">Ukrainian</span>
</noinclude><span style="text-transform: uppercase;" class="lang-{{{2}}}">[[{{{1}}}|{{{2}}}]]</span>
[[Category:Translations]]
[[Category:Template]]
df72d579efb62061aa75770bf99db9a1cbb36355
Property:Link target
102
218
432
2017-11-05T18:06:16Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:16Z
wikitext
text/x-wiki
This property is used by the template {{Link|target=Template:Link}}.
It has the type [[Has type::text]] which can be a page or an URL
67b4fa0b01d28d004be039eb9698ca89f625afc8
Property:Link targetPage
102
219
433
2017-11-05T18:06:17Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:17Z
wikitext
text/x-wiki
This property is used by the template {{Link|target=Template:Link}}.
It has the type [[Has type::page]]
3676163b1a7109eeafe86e74a05771ce014b3b95
Property:Link targetUrl
102
220
434
2017-11-05T18:06:17Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:17Z
wikitext
text/x-wiki
This property is used by the template {{Link|target=Template:Link}}.
It has the type [[Has type::url]]
3e3ded497e524c6d3ea5d94199fc6b7d7efdedac
Property:Link title
102
221
435
2017-11-05T18:06:17Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:17Z
wikitext
text/x-wiki
This property is used by the template {{Link|target=Template:Link}}.
It has the type [[Has type::text]]
8f65f7e2d3b8a20bc24187d6fdc9d948e2936098
Property:Property nullable
102
222
436
2017-11-05T18:06:18Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:17Z
wikitext
text/x-wiki
{{Property
|name=nullable
|label=allow nulls?
|documentation=should nullvalues be allowed and value set to NULL when empty?
|type=Special:Types/Boolean
|index=18
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=false
|inputType=
|allowedValues=
|values_from=
|showInGrid=false
|isLink=false
|topic=Concept:Property
|storemode=property
}}
[[Has type::Boolean]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
4baaf80e91228591dbf59b928c29c7523a2a4e91
Property:SMW Type id
102
223
437
2017-11-05T18:06:18Z
Wf
1
transfered by WikiBackup wikiTask at 2017-11-05T18:06:18Z
wikitext
text/x-wiki
{{Property
|name=id
|label=id
|documentation=SMW internal id of the type
|type=Special:Types/Text
|index=3
|sortPos=
|primaryKey=false
|mandatory=false
|namespace=
|size=
|uploadable=false
|defaultValue=
|inputType=
|allowedValues=
|values_from=
|showInGrid=true
|isLink=false
|topic=Concept:SMW_Type
|storemode=property
}}
[[Has type::Text]]
This is a Property with type {{#show: {{FULLPAGENAMEE}} | ?Property type#- }}
36456b9d6837c996152a05e31c60142ad0c253b1
MediaWiki:Common.css
8
186
438
274
2017-11-05T18:17:33Z
Wf
1
css
text/css
/* CSS placed here will be applied to all skins */
/** BITPlan **/
div.bitplanorange {
margin-top: 0.4cm;
font-size: 125%; color: rgb(255, 128, 0);
margin-bottom: 0.0cm;
}
.externalimage-holder {
position: relative;
}
.externalimage-holder img {
width: 100%;
height: auto;
}
dc3fcf3246d71b56d77093eadec9fae015cf9cf4
Docker
0
17
439
64
2019-01-02T17:22:02Z
Wf
1
wikitext
text/x-wiki
{{Tool
|name=Docker
|logo=File:DockerLogo.png
|logourl=https://www.docker.com/sites/all/themes/docker/assets/images/logo.png
|website=https://www.docker.com/
|wikipediaurl=https://en.wikipedia.org/wiki/Docker_%28software%29
|stackoverflow=http://stackoverflow.com/questions/tagged/docker
|stackoverflowQuestionCount=49,616
|category=Build
|storemode=property
}}
{{GlossaryEntry
|since=2015/09/25
|description={{Link|target=https://www.docker.com/|title=Docker}} ''is an open platform for building, shipping and running distributed applications. It gives programmers, development teams and operations engineers the common toolbox they need to take advantage of the distributed and networked nature of modern applications.''
|references=https://www.docker.com
|lang=en
|master=Docker
|storemode=property
}}
== Virtual Machine versus Container ==
http://i.imgur.com/MJHfm1c.jpg
== Introduction to Docker by {{Link|target=Solomon Hykes}} ==
<youtube>Q5POuMHxW-0</youtube>
* Shipping code to the server is too hard
* Docker uses separation of concerns (just like the Y-principle) to make shipping easier
* Docker images are manipulated git style with ids, diffs, commits, pushs and pulls
== Links ==
* https://twitter.com/docker
== Installation ==
=== Installation of Docker on Mac OS X ===
* https://docs.docker.com/installation/mac/
# Download Docker Toolbox
# Install (e.g. DockerToolbox-1.8.3.pkg)
# Either Use Kitematic Visual Management for Docker or Docker Quickstart Terminal Command Line Interface
[[File:Clipboard20151017102651.png]]
<source lang='bash'>
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
</source>
=== Installation of Docker on Linux ===
* see https://docs.docker.com/installation/ubuntulinux/
== Docker command examples ==
upgrade docker machine
<pre>
docker-machine upgrade default
</pre>
list running docker processes
<pre>
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
</pre>
get and start the latest ubuntu image
<pre>
docker run ubuntu
</pre>
see which images are available
<pre>
bash-3.2$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 0a17decee413 4 days ago 188.4 MB
bash-3.2$
</pre>
start a bash shall in ubuntu
<source lang='bash'>
docker run -i -t ubuntu /bin/bash
</source>
modify the image by creating new directory
<source lang='bash'>
root@84506e084bb9:/#touch /test
</source>
look at processes again and check the difference of the image with the given container id
<source lang='bash'>
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
84506e084bb9 ubuntu "/bin/bash" 2 minutes ago Up 2 minutes pensive_wozniak
bash-3.2$ docker diff 84506e084bb9
A /test
</source>
install some software
<source lang='bash'>
root@84506e084bb9:/#apt-get install php5
root@84506e084bb9:/#apt-get install mysql-server
</source>
commit the changes to images with the name "lamp"
and check the image list again
<source lang='bash'>
bash-3.2$ docker commit 84506e084bb9 lamp
8ba719cd9b0eae589b70f6b6ddd567b4c20f997fc2d8f4c6feb313d73c2d5c3a
bash-3.2$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
lamp latest 8ba719cd9b0e 20 seconds ago 349.5 MB
ubuntu latest 0a17decee413 4 days ago 188.4 MB
bash-3.2$
</source>
<source lang='bash'>
docker version
Client:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 18:01:15 UTC 2015
OS/Arch: darwin/amd64
Server:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 18:01:15 UTC 2015
OS/Arch: linux/amd64
</source>
== Useful scripts ==
{{Link|target=Docker goodies}}
== Static content example ==
Use the nginx image from https://github.com/docker-library/docs/tree/master/nginx
<source lang='bash'>
docker run --name icon_html -v /Users/wf/Documents/workspace/com.bitplan.icons/src/main/resources/com/bitplan/icons:/usr/share/nginx/html:ro -d -p 8080:80 nginx
</source>
find out the ip address for the mapping (Mac OS X)
<source lang='bash'>
docker-machine env default
export DOCKER_HOST="tcp://192.168.99.100:2376"
</source>
try out via <pre>http://192.168.99.100:8080/48x48/shadow/wrench.png</pre>http://192.168.99.100:8080/48x48/shadow/wrench.png
== Dockerfile ==
The process can be automated using a {{Link|target=Dockerfile}}
== Critics ==
http://www.boycottdocker.org/
== Docker book ==
<pdf>http://dockerbook.com/TheDockerBook_sample.pdf</pdf>
[[Category:Examples]]
5283f5ea95fc5b545bae3aacd23948edb2186454
443
439
2019-01-05T14:25:13Z
Wf
1
/* Critics */
wikitext
text/x-wiki
{{Tool
|name=Docker
|logo=File:DockerLogo.png
|logourl=https://www.docker.com/sites/all/themes/docker/assets/images/logo.png
|website=https://www.docker.com/
|wikipediaurl=https://en.wikipedia.org/wiki/Docker_%28software%29
|stackoverflow=http://stackoverflow.com/questions/tagged/docker
|stackoverflowQuestionCount=49,616
|category=Build
|storemode=property
}}
{{GlossaryEntry
|since=2015/09/25
|description={{Link|target=https://www.docker.com/|title=Docker}} ''is an open platform for building, shipping and running distributed applications. It gives programmers, development teams and operations engineers the common toolbox they need to take advantage of the distributed and networked nature of modern applications.''
|references=https://www.docker.com
|lang=en
|master=Docker
|storemode=property
}}
== Virtual Machine versus Container ==
http://i.imgur.com/MJHfm1c.jpg
== Introduction to Docker by {{Link|target=Solomon Hykes}} ==
<youtube>Q5POuMHxW-0</youtube>
* Shipping code to the server is too hard
* Docker uses separation of concerns (just like the Y-principle) to make shipping easier
* Docker images are manipulated git style with ids, diffs, commits, pushs and pulls
== Links ==
* https://twitter.com/docker
== Installation ==
=== Installation of Docker on Mac OS X ===
* https://docs.docker.com/installation/mac/
# Download Docker Toolbox
# Install (e.g. DockerToolbox-1.8.3.pkg)
# Either Use Kitematic Visual Management for Docker or Docker Quickstart Terminal Command Line Interface
[[File:Clipboard20151017102651.png]]
<source lang='bash'>
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
</source>
=== Installation of Docker on Linux ===
* see https://docs.docker.com/installation/ubuntulinux/
== Docker command examples ==
upgrade docker machine
<pre>
docker-machine upgrade default
</pre>
list running docker processes
<pre>
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
</pre>
get and start the latest ubuntu image
<pre>
docker run ubuntu
</pre>
see which images are available
<pre>
bash-3.2$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 0a17decee413 4 days ago 188.4 MB
bash-3.2$
</pre>
start a bash shall in ubuntu
<source lang='bash'>
docker run -i -t ubuntu /bin/bash
</source>
modify the image by creating new directory
<source lang='bash'>
root@84506e084bb9:/#touch /test
</source>
look at processes again and check the difference of the image with the given container id
<source lang='bash'>
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
84506e084bb9 ubuntu "/bin/bash" 2 minutes ago Up 2 minutes pensive_wozniak
bash-3.2$ docker diff 84506e084bb9
A /test
</source>
install some software
<source lang='bash'>
root@84506e084bb9:/#apt-get install php5
root@84506e084bb9:/#apt-get install mysql-server
</source>
commit the changes to images with the name "lamp"
and check the image list again
<source lang='bash'>
bash-3.2$ docker commit 84506e084bb9 lamp
8ba719cd9b0eae589b70f6b6ddd567b4c20f997fc2d8f4c6feb313d73c2d5c3a
bash-3.2$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
lamp latest 8ba719cd9b0e 20 seconds ago 349.5 MB
ubuntu latest 0a17decee413 4 days ago 188.4 MB
bash-3.2$
</source>
<source lang='bash'>
docker version
Client:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 18:01:15 UTC 2015
OS/Arch: darwin/amd64
Server:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 18:01:15 UTC 2015
OS/Arch: linux/amd64
</source>
== Useful scripts ==
{{Link|target=Docker goodies}}
== Static content example ==
Use the nginx image from https://github.com/docker-library/docs/tree/master/nginx
<source lang='bash'>
docker run --name icon_html -v /Users/wf/Documents/workspace/com.bitplan.icons/src/main/resources/com/bitplan/icons:/usr/share/nginx/html:ro -d -p 8080:80 nginx
</source>
find out the ip address for the mapping (Mac OS X)
<source lang='bash'>
docker-machine env default
export DOCKER_HOST="tcp://192.168.99.100:2376"
</source>
try out via <pre>http://192.168.99.100:8080/48x48/shadow/wrench.png</pre>http://192.168.99.100:8080/48x48/shadow/wrench.png
== Dockerfile ==
The process can be automated using a {{Link|target=Dockerfile}}
== Critics ==
* http://www.boycottdocker.org/
* https://thehftguy.com/2016/11/01/docker-in-production-an-history-of-failure/
* https://github.com/moby/moby/issues/23203
== Docker book ==
<pdf>http://dockerbook.com/TheDockerBook_sample.pdf</pdf>
[[Category:Examples]]
59602e69f0d8567f707c269c06625e389f2c52a2
444
443
2019-01-05T14:40:18Z
Wf
1
/* Critics */
wikitext
text/x-wiki
{{Tool
|name=Docker
|logo=File:DockerLogo.png
|logourl=https://www.docker.com/sites/all/themes/docker/assets/images/logo.png
|website=https://www.docker.com/
|wikipediaurl=https://en.wikipedia.org/wiki/Docker_%28software%29
|stackoverflow=http://stackoverflow.com/questions/tagged/docker
|stackoverflowQuestionCount=49,616
|category=Build
|storemode=property
}}
{{GlossaryEntry
|since=2015/09/25
|description={{Link|target=https://www.docker.com/|title=Docker}} ''is an open platform for building, shipping and running distributed applications. It gives programmers, development teams and operations engineers the common toolbox they need to take advantage of the distributed and networked nature of modern applications.''
|references=https://www.docker.com
|lang=en
|master=Docker
|storemode=property
}}
== Virtual Machine versus Container ==
http://i.imgur.com/MJHfm1c.jpg
== Introduction to Docker by {{Link|target=Solomon Hykes}} ==
<youtube>Q5POuMHxW-0</youtube>
* Shipping code to the server is too hard
* Docker uses separation of concerns (just like the Y-principle) to make shipping easier
* Docker images are manipulated git style with ids, diffs, commits, pushs and pulls
== Links ==
* https://twitter.com/docker
== Installation ==
=== Installation of Docker on Mac OS X ===
* https://docs.docker.com/installation/mac/
# Download Docker Toolbox
# Install (e.g. DockerToolbox-1.8.3.pkg)
# Either Use Kitematic Visual Management for Docker or Docker Quickstart Terminal Command Line Interface
[[File:Clipboard20151017102651.png]]
<source lang='bash'>
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
</source>
=== Installation of Docker on Linux ===
* see https://docs.docker.com/installation/ubuntulinux/
== Docker command examples ==
upgrade docker machine
<pre>
docker-machine upgrade default
</pre>
list running docker processes
<pre>
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
</pre>
get and start the latest ubuntu image
<pre>
docker run ubuntu
</pre>
see which images are available
<pre>
bash-3.2$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 0a17decee413 4 days ago 188.4 MB
bash-3.2$
</pre>
start a bash shall in ubuntu
<source lang='bash'>
docker run -i -t ubuntu /bin/bash
</source>
modify the image by creating new directory
<source lang='bash'>
root@84506e084bb9:/#touch /test
</source>
look at processes again and check the difference of the image with the given container id
<source lang='bash'>
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
84506e084bb9 ubuntu "/bin/bash" 2 minutes ago Up 2 minutes pensive_wozniak
bash-3.2$ docker diff 84506e084bb9
A /test
</source>
install some software
<source lang='bash'>
root@84506e084bb9:/#apt-get install php5
root@84506e084bb9:/#apt-get install mysql-server
</source>
commit the changes to images with the name "lamp"
and check the image list again
<source lang='bash'>
bash-3.2$ docker commit 84506e084bb9 lamp
8ba719cd9b0eae589b70f6b6ddd567b4c20f997fc2d8f4c6feb313d73c2d5c3a
bash-3.2$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
lamp latest 8ba719cd9b0e 20 seconds ago 349.5 MB
ubuntu latest 0a17decee413 4 days ago 188.4 MB
bash-3.2$
</source>
<source lang='bash'>
docker version
Client:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 18:01:15 UTC 2015
OS/Arch: darwin/amd64
Server:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 18:01:15 UTC 2015
OS/Arch: linux/amd64
</source>
== Useful scripts ==
{{Link|target=Docker goodies}}
== Static content example ==
Use the nginx image from https://github.com/docker-library/docs/tree/master/nginx
<source lang='bash'>
docker run --name icon_html -v /Users/wf/Documents/workspace/com.bitplan.icons/src/main/resources/com/bitplan/icons:/usr/share/nginx/html:ro -d -p 8080:80 nginx
</source>
find out the ip address for the mapping (Mac OS X)
<source lang='bash'>
docker-machine env default
export DOCKER_HOST="tcp://192.168.99.100:2376"
</source>
try out via <pre>http://192.168.99.100:8080/48x48/shadow/wrench.png</pre>http://192.168.99.100:8080/48x48/shadow/wrench.png
== Dockerfile ==
The process can be automated using a {{Link|target=Dockerfile}}
== Critics ==
* http://www.boycottdocker.org/
* https://thehftguy.com/2016/11/01/docker-in-production-an-history-of-failure/
* https://github.com/moby/moby/issues/23203
* https://www.reddit.com/r/docker/comments/8n7app/the_joy_of_containers_virtualisation_and/
== Docker book ==
<pdf>http://dockerbook.com/TheDockerBook_sample.pdf</pdf>
[[Category:Examples]]
a232801422815c038f28649c6f8e16f84d33750d
Main Page
0
1
440
300
2019-01-03T06:29:06Z
Wf
1
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right|link=http://www.bitplan.com/ProfiWiki]]
=== What is a [[ProfiWiki]] ?===
* Structured and unstructured content
* Easy search
* Quick data entry and linking
* Team collaboration
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|100px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|100px]]
==== Make the ProfiWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
bfed656a1a92f1b8c1ae4551a3063cede845c511
441
440
2019-01-03T06:29:42Z
Wf
1
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right|link=http://www.bitplan.com/ProfiWiki]]
=== What is a [http://www.bitplan.com/ProfiWiki ProfiWiki] ?===
* Structured and unstructured content
* Easy search
* Quick data entry and linking
* Team collaboration
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|100px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|100px]]
==== Make the ProfiWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px]]
ac1b2201eae112493f56b3bf116b5b1c57366776
442
441
2019-01-03T06:30:28Z
Wf
1
wikitext
text/x-wiki
__NOTOC__
[[File:Profiwikiicon.png|256px|right|link=http://www.bitplan.com/ProfiWiki]]
=== What is a [http://www.bitplan.com/ProfiWiki ProfiWiki] ?===
* Structured and unstructured content
* Easy search
* Quick data entry and linking
* Team collaboration
=== The ProfiWiki layer cake recipe ===
==== Ingredients ====
* 1 small {{Link|target=Docker}} [[File:DockerLogo.png|218px]]
* 1 decent {{Link|target=http://www.mediawiki.org|title=MediaWiki}} [[File:MediaWikiLogo.png|100px]]
* 1 nice dose of {{Link|target=http://semantic-mediawiki.org/wiki/Semantic_MediaWiki|title=Semantic MediaWiki}} [[File:SemanticMediaWikiLogo.png|100px]]
==== Make the ProfiWiki cake ====
Follow the instructions at {{Link|target=https://github.com/BITPlan/docker-semanticmediawiki|title=docker-semanticmediawiki}}[[File:Profiwikiicon.png|128px|link=http://www.bitplan.com/ProfiWiki]]
c51abc88a39f80402c14d9bc631f6ab256b88e6b
smw/schema:Group:Schema properties
112
224
447
2022-02-05T15:23:14Z
127.0.0.1
0
Semantic MediaWiki group import
smw/schema
application/json
{
"type": "PROPERTY_GROUP_SCHEMA",
"groups": {
"schema_group": {
"canonical_name": "Schema properties",
"message_key": "smw-property-group-label-schema-group",
"property_keys": [
"_SCHEMA_TYPE",
"_SCHEMA_DEF",
"_SCHEMA_DESC",
"_SCHEMA_TAG",
"_SCHEMA_LINK",
"_FORMAT_SCHEMA",
"_CONSTRAINT_SCHEMA",
"_PROFILE_SCHEMA"
]
}
},
"tags": [
"group",
"property group"
]
}
fdba38d9db40d0248af036f81b4b7fdb74f6170d
smw/schema:Group:Predefined properties
112
225
448
2022-02-05T15:23:14Z
127.0.0.1
0
Semantic MediaWiki group import
smw/schema
application/json
{
"type": "PROPERTY_GROUP_SCHEMA",
"groups": {
"administrative_group": {
"canonical_name": "Adminstrative properties",
"message_key": "smw-property-group-label-administrative-properties",
"property_keys": [
"_MDAT",
"_CDAT",
"_NEWP",
"_LEDT",
"_DTITLE",
"_CHGPRO",
"_EDIP",
"_ERRC"
]
},
"classification_group": {
"canonical_name": "Classification properties",
"message_key": "smw-property-group-label-classification-properties",
"property_keys": [
"_INST",
"_PPGR",
"_SUBP",
"_SUBC"
]
},
"content_group": {
"canonical_name": "Content properties",
"message_key": "smw-property-group-label-content-properties",
"property_keys": [
"_SOBJ",
"_ASK",
"_MEDIA",
"_MIME",
"_ATTCH_LINK",
"_FILE_ATTCH",
"_CONT_TYPE",
"_CONT_AUTHOR",
"_CONT_LEN",
"_CONT_LANG",
"_CONT_TITLE",
"_CONT_DATE",
"_CONT_KEYW",
"_TRANS",
"_TRANS_SOURCE",
"_TRANS_GROUP"
]
},
"declarative_group": {
"canonical_name": "Declarative properties",
"message_key": "smw-property-group-label-declarative-properties",
"property_keys": [
"_TYPE",
"_UNIT",
"_IMPO",
"_CONV",
"_SERV",
"_PVAL",
"_LIST",
"_PREC",
"_PDESC",
"_PPLB",
"_PVAP",
"_PVALI",
"_PVUC",
"_PEID",
"_PEFU"
]
}
},
"tags": [
"group",
"property group"
]
}
8536eb8767d6dc5a87a0b4f7791b9cd791acbd75